本文共 6850 字,大约阅读时间需要 22 分钟。
urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口, 1 2 3 | import urllib2 response = urllib2.urlopen( 'http://python.org/' ) html = response.read() |
1 2 3 4 | import urllib2 req = urllib2.Request( 'http://www.voidspace.org.uk' ) response = urllib2.urlopen(req) the_page = response.read() |
1 | req = urllib2.Request( 'ftp://example.com/' ) |
1 2 3 4 5 6 7 8 9 10 11 12 | import urllib import urllib2 url = 'http://www.someserver.com/cgi-bin/register.cgi' values = { 'name' : 'Michael Foord' , 'location' : 'Northampton' , 'language' : 'Python' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read() |
1 2 3 4 5 6 7 8 9 10 11 12 | >>> import urllib2 >>> import urllib >>> data = {} >>> data[ 'name' ] = 'Somebody Here' >>> data[ 'location' ] = 'Northampton' >>> data[ 'language' ] = 'Python' >>> url_values = urllib.urlencode(data) >>> print url_values name = Somebody + Here&language = Python&location = Northampton >>> url = 'http://www.example.com/example.cgi' >>> full_url = url + '?' + url_values >>> data = urllib2. open (full_url) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import urllib import urllib2 url = 'http://www.someserver.com/cgi-bin/register.cgi' user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' values = { 'name' : 'Michael Foord' , 'location' : 'Northampton' , 'language' : 'Python' } headers = { 'User-Agent' : user_agent } data = urllib.urlencode(values) req = urllib2.Request(url, data, headers) response = urllib2.urlopen(req) the_page = response.read() |
1 2 3 4 5 6 | >>> req = urllib2.Request( 'http://www.pretend_server.org' ) >>> try : urllib2.urlopen(req) >>> except URLError, e: >>> print e.reason >>> ( 4 , 'getaddrinfo failed' ) |
1 2 3 4 5 6 7 | >>> req = urllib2.Request( 'http://www.python.org/fish.html' ) >>> try : >>> urllib2.urlopen(req) >>> except URLError, e: >>> print e.code >>> print e.read() >>> |
1 2 3 4 5 6 7 8 9 10 11 12 | from urllib2 import Request, urlopen, URLError, HTTPError req = Request(someurl) try : response = urlopen(req) except HTTPError, e: print 'The server couldn\'t fulfill the request.' print 'Error code: ' , e.code except URLError, e: print 'We failed to reach a server.' print 'Reason: ' , e.reason else : # everything is fine |
1 2 3 4 5 6 7 8 9 10 11 12 13 | from urllib2 import Request, urlopen, URLError req = Request(someurl) try : response = urlopen(req) except URLError, e: if hasattr (e, 'reason' ): print 'We failed to reach a server.' print 'Reason: ' , e.reason elif hasattr (e, 'code' ): print 'The server couldn\'t fulfill the request.' print 'Error code: ' , e.code else : # everything is fine |
转载地址:http://gbsmb.baihongyu.com/