Изменить 09/2016: в Python 3 и выше используйте urllib.request вместо urllib2
На самом деле самый простой способ:
import urllib2 # the lib that handles the url stuff
data = urllib2.urlopen(target_url) # it's a file like object and works just like a file
for line in data: # files are iterable
print line
Вам даже не нужны «строки чтения», как предложил Уилл. Вы даже можете сократить его до: *
import urllib2
for line in urllib2.urlopen(target_url):
print line
Но помните, что в Python читаемость имеет значение.
Однако это самый простой, но не безопасный способ, потому что большую часть времени при сетевом программировании вы не знаете, будет ли соблюден ожидаемый объем данных. Таким образом, вам, как правило, лучше читать фиксированный и разумный объем данных, который, как вы знаете, будет достаточным для данных, которые вы ожидаете, но предотвратит переполнение вашего скрипта:
import urllib2
data = urllib2.urlopen("http://www.google.com").read(20000) # read only 20 000 chars
data = data.split("\n") # then split it into lines
for line in data:
print line
* Второй пример в Python 3:
import urllib.request # the lib that handles the url stuff
for line in urllib.request.urlopen(target_url):
print(line.decode('utf-8')) #utf-8 or iso8859-1 or whatever the page encoding scheme is
е-удовлетворяться
источник
Библиотека запросов имеет более простой интерфейс и работает как с Python 2, так и с Python 3.
источник
источник
источник
Другой способ в Python 3 - использовать пакет urllib3 .
Это может быть лучшим вариантом, чем urllib, поскольку urllib3 может похвастаться
источник
Для меня ни один из приведенных выше ответов не сработал. Вместо этого мне пришлось сделать следующее (Python 3):
источник
Просто обновите здесь решение, предложенное @ ken-kinder для Python 2, чтобы работать на Python 3:
источник