编辑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
正如Will所建议的,您甚至不需要“ readlines”。您甚至可以将其缩短为: *
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