介绍下3种python获取cookie的方法。
(1)借助handler
这种方法也是网上介绍最多的一种方法,但是用起来比较麻烦
fromhttpimportcookiejar fromurllibimportrequest classCraw(): def__init__(self): self.url='' self.headers['User-Agent']='Mozilla/5.0(WindowsNT6.3;Win64;x64)'\ 'AppleWebKit/537.36(KHTML,likeGecko)Chrome/65.0.3325.162Safari/537.36' self.headers['Content-Type']='application/x-www-form-urlencoded' defgetCookies(self): cookie=cookiejar.CookieJar() handler=request.HTTPCookieProcessor(cookie) opener=request.build_opener(handler) response=opener.open(self.url) cookieValue='' foritemincookie: cookieValue+=item.name+'='+item.value+';' self.headers['Cookie']=cookieValue response=requests.get(url=self.url) defgetVerificationCode(self): img_url='' imgResponse=requests.get(url=img_url,headers=self.headers)#直接使用headers即可 base64_jpg=base64.b64encode(imgResponse.content) returnbase64_jpg
(2)使用response headers的set_cookie
importrequests importre classCrawler(): defgetCookie(self): response=requests.post(self.url) set_cookie=response.headers['Set-Cookie'] array=re.split('[;,]',set_cookie) cookieValue='' forarrinarray: ifarr.find('DZSW_SESSIONID')>=0orarr.find('bl0gm1HBTB')>=0: cookieValue+=arr+';'
(3)使用response的cookies属性获取
importrequests classCrawler(): defgetCookie(self): response=requests.get(self.url) cookie_value='' forkey,valueinresponse.cookies.items(): cookie_value+=key+'='+value+';' self.headers['Cookie']=cookie_value原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容