urllib.request模塊常用類有
1.urllib.request.HTTPDefaultErrorHandler 《處理http響應(yīng)錯(cuò)誤》
2.urllib.request.HTTPRedirectHandler 《處理重定向》
3.urllib.request.HTTPCookieProcessor 《處理cookieHandler需要配合http.cookiejar使用》
例:
cookie = http.cookiejar.CookieJar()
cookieHandler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(cookieHandler)
opener.open(url)
cookie在這里,opener只是用于打開鏈接
4.urllib.request.HTTPPasswordMgr 《管理URL領(lǐng)域用戶名密碼的映射》
例:
map = urllib.request.HTTPPasswordMgrWithDefaultRealm()
map.add_password(NONE,url,"username","password")
5.urllib.request.ProxyHandler 《設(shè)置代理》
例:
proxy = urllib.request.ProxyHandler({"key":"value"})
opener = urllib.request.build_opener(proxy)
result = opener.oepn(url)
6.urllib.request.HTTPBasicAuthHandler 《處理URL領(lǐng)域用戶名密碼的映射并返回一個(gè)管理認(rèn)證handler對象》
例:
map = urllib.request.HTTPPasswordMgrWithDefaultRealm()
map.add_password(NONE,url,"username","password")
authHandler = urllib.request.HTTPBasicAuthHandler(map)
7.urllib.request.OpenerDirector《串接在一起的 BaseHandler 打開 URL》
8.urllib.requset.Request() 《構(gòu)造url請求抽象類》
urllib.requset.Request(url,data,headers,origin_req_host,unverifiable,mothod)
例:
url = "https://www.httpbin.org/post"
data = bytes(urllib.parse.urlencode({"key":"example"}),encoding="utf-8")
headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"}
origin_req_host = 略
unverifiable = 略
method = "post"
request = urllib.requset.Request(url,data,headers,method)
result = urlib.request.urlopen(request)
urllib.request模塊常用類函數(shù)有
1.urllib.request.urlopen() 《打開統(tǒng)一資源定位地址 url》
例:
urllib.request.urlopen("https://www.baidu.com") 《無參數(shù)例子》
urllib.request.urlopen("https://www.httpbin.org/post",data=data) 《帶data參數(shù)
例子》
data=bytes(urllib.parse.urlencode({"key":"example"}),encoding="utf-8") 《帶
參數(shù)例子data值》
urllib.request.urlopen("https://www.baidu.com/get",timeout=1) 《帶timeout參
數(shù)例子》
2.urllib.request.build_opener() 《返回一個(gè) OpenerDirector實(shí)例阅悍,以接受的handler參數(shù)決定要處理的實(shí)際Handler類》
例:處理HTTPBasicAuthHandler管理認(rèn)證Handler
map = urllib.request.HTTPPasswordMgrWithDefaultRealm
map.add_password(NONE,url,"username","password")
authHandler = urllib.request.HTTPBasicAuthHandler(map)
opener = urllib.request.build_opener(authHandler)
reusult = opener.open(url)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者