urllib2自定義opener詳解
urllib2.urlopen()函數(shù)不支持驗(yàn)證、cookie或者其它HTTP高級(jí)功能。要支持這些功能,必須使用build_opener()函數(shù)創(chuàng)建自定義Opener對(duì)象。
build_opener([handler1 [ handler2, ... ]])
參數(shù)handler是Handler實(shí)例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。
build_opener ()返回的對(duì)象具有open()方法,與urlopen()函數(shù)的功能相同。
如果要修改http報(bào)頭,可以用:
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')
2. install_opener(opener)
安裝不同的opener對(duì)象作為urlopen()使用的全局opener。
3. 密碼驗(yàn)證(HTTPBasicAuthHandler)
HTTPBasicAuthHandler()處理程序可用add_password()來設(shè)置密碼。
h.add_password(realm,uri,user,passwd)
realm是與驗(yàn)證相關(guān)聯(lián)的名稱或描述信息,取決于遠(yuǎn)程服務(wù)器。uri是基URL。user和passwd分別指定用戶名和密碼。
import urllib2
auth=urllib2.HTTPBasicAuthHandler()
auth.add_password('Administrator','http://www.example.com','Dave','123456')
opener=urllib2.build_opener(auth)
u=opener.open('http://www.example.com/evilplan.html')
4. Cookie處理(HTTPCookieProcessor)
import urllib2,cookielib
cookie=cookielib.CookieJar()
cookiehand=urllib2.HTTPCookieProcessor(cookie)
opener=urllib2.build_opener(cookiehand)
5.代理(ProxyHandler)
ProxyHandler(proxies)參數(shù)proxies是一個(gè)字典,將協(xié)議名稱(http,ftp)等映射到相應(yīng)代理服務(wù)器的URL。
proxy=ProxyHandler({'http':'http://someproxy.com:8080'})
auth=HTTPBasicAuthHandler()
auth.add_password()
opener=build_opener(auth,proxy)
也可以在urlopen中使用代理
import urllib2
proxy = 'http://%s:%s@%s' % ('userName', 'password', 'proxy')
inforMation = urllib2.urlopen("http://www.example.com", proxies={'http':proxy})
- python中使用urllib2獲取http請(qǐng)求狀態(tài)碼的代碼例子
- Python中使用urllib2防止302跳轉(zhuǎn)的代碼例子
- python中使用urllib2偽造HTTP報(bào)頭的2個(gè)方法
- python通過urllib2爬網(wǎng)頁上種子下載示例
- python網(wǎng)頁請(qǐng)求urllib2模塊簡(jiǎn)單封裝代碼
- python使用urllib2模塊獲取gravatar頭像實(shí)例
- python33 urllib2使用方法細(xì)節(jié)講解
- Python使用urllib2獲取網(wǎng)絡(luò)資源實(shí)例講解
- Python庫urllib與urllib2主要區(qū)別分析
相關(guān)文章
python自動(dòng)填寫問卷星問卷以及提交問卷等功能
這篇文章主要給大家介紹了關(guān)于python自動(dòng)填寫問卷星問卷以及提交問卷等功能的相關(guān)資料,包括使用Selenium庫模擬瀏覽器操作、定位元素、填寫表單等,通過本文的學(xué)習(xí),讀者可以了解如何利用Python自動(dòng)化技術(shù)提高問卷填寫效率,需要的朋友可以參考下2023-03-03
python中__init__方法知識(shí)點(diǎn)詳解
Python中常會(huì)看到在很多類中都有一個(gè)__init__函數(shù),該函數(shù)有什么作用,又該如何使用呢,下面這篇文章主要給大家介紹了關(guān)于python中__init__知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04
對(duì)Python中DataFrame選擇某列值為XX的行實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python中DataFrame選擇某列值為XX的行實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換
這篇文章主要介紹了Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的古詩生成器
這篇文章主要為大家詳細(xì)介紹了基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的古詩生成器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
keras實(shí)現(xiàn)VGG16方式(預(yù)測(cè)一張圖片)
這篇文章主要介紹了keras實(shí)現(xiàn)VGG16方式(預(yù)測(cè)一張圖片),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07

