2008-12-09 8 views
0

Единственный надежный метод, который я нашел для использования скрипта для загрузки текста из википедии, - cURL. Пока единственный способ сделать это - позвонить os.system(). Несмотря на то, что вывод корректно отображается в оболочке python, я не могу показаться, что функция возвращает ничего, кроме кода выхода (0). В качестве альтернативы кто-то может показать, как правильно использовать urllib.Как получить данные из stdin с помощью os.system()

ответ

7

От Dive into Python:

import urllib 
sock = urllib.urlopen("http://en.wikipedia.org/wiki/Python_(programming_language)") 
htmlsource = sock.read() 
sock.close() 
print htmlsource 

Это выведет исходный код для статьи Википедии Python. Я предлагаю вам взглянуть на Dive in Python для более подробной информации.

Пример использования urllib2 из Python Library Reference:

import urllib2 
f = urllib2.urlopen('http://www.python.org/') 
print f.read(100) 

Edit: Кроме того, вы можете захотеть взглянуть на wget.
Edit2: Добавлен urllib2 пример на основе рекомендаций С. Лотт в

+0

Спасибо, встроенный в браузере справки почти невозможно понять. – GameFreak 2008-12-09 01:29:18

2

Отвечая на вопрос, Python имеет модуль подпроцесса, который позволяет вам взаимодействовать с порожденными процессами. http://docs.python.org/library/subprocess.html#subprocess.Popen

Он позволяет вам читать стандартный вывод для вызванного процесса и даже отправлять элементы в stdin.

однако, как вы сказали, urllib - намного лучший вариант. если вы search stackoverflow, я уверен, вы найдете как минимум 10 других связанных вопросов ...