1---urllib2是很是強大的Python網絡資源訪問模塊,它的功能和urllib模塊類似python
python標準庫中的urllib2模塊能夠說是urlib模塊的一個升級的複雜版,不須要另外下載,瀏覽器
好比訪問的網絡資源須要http驗證,cookie
須要cookie信息,網絡
模仿普通瀏覽器同樣去訪問網絡,網頁資源函數
這個時候用urllib2測試
2---urllib2模塊介紹ui
1)設置timeout超時設置:url
import urllib2spa
test=urllib2.urlopen('http://www.iplaypy.com/',timeout=15)firefox
#2個參數,一個是url地址,一個是超時的時候,此次的測試設定值是15
2)在訪問的時候加入Header頭部信息
header={「User-Agent」:「Mozilla-firefox24.0」} #字典類型
urllib2.urlopen(url,header)
像上面這樣的操做,就能夠加上Header頭部信息,用來模仿瀏覽器行爲,應對一些禁止爬蟲的網絡資 源,很是實用
3)用urllib2獲得http網頁狀態碼
import urllib2
test=urllib2.urlopen("http://baidu.com/」)
test.code
這樣就能夠訪問百度的網頁狀態碼,200證實能訪問,獲得網頁內容
4)使用urllib2對Cookie進行處理
import urllib2
import cookielib
cookie=cookielib.CookieJar() #後面函數方法要注意C和J是大寫的
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response=opener.open('http://www.baidu.com')
for item in cookie:
if item.name=="some——cookie_item_name"
print item.value
5)urlopen()----是處理的入口函數,獲取OpenerDiretor對象,調用Opener.open()
默認的OpenDiretor對象保存在變量_open中,採用Singleton模式
build_opener()----
install_opener()---將OpenerDirector對象保存在變量_opener中,做爲默認opener使用
class Openerdirector
class Resquest---做爲一個信息對象,保存和url相關的參數,包括headers,data,proxy等,用於url參數傳遞
class HTTPHandler---類繼承者關係:BaseHandler-->AbstracHTTPHandler-->HTTPHandler
調用httplib.HTTPConnection完成HTTp的處理