urllib使用cookies(下载,提取)
生活随笔
收集整理的这篇文章主要介绍了
urllib使用cookies(下载,提取)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
urllib保存cookies文件
一般来说,有两种文件表现格式。所对应在http库中的是MozillaCookieJar跟LWPCookieJar。区别主要体现在下载下来之后的内容上。
- urllib保存cookies文件
- 获取的cookies文件
- Cookies使用
- 附录
获取的cookies文件
MozillaCookieJar(表示的Mozilla浏览器的Cookies格式)
下载代码
下载的内容
# Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This is a generated file! Do not edit..baidu.com TRUE / FALSE 3673955276 BAIDUID AAF2D424A592C6EB358CF0C2E5954E04:FG=1 .baidu.com TRUE / FALSE 3673955276 BIDUPSID AAF2D424A592C6EB358CF0C2E5954E04 .baidu.com TRUE / FALSE H_PS_PSSID 1433_21097_26431_20719 .baidu.com TRUE / FALSE 3673955276 PSTM 1526471594 www.baidu.com FALSE / FALSE BDSVRTM 0 www.baidu.com FALSE / FALSE BD_HOME 0LWPCookieJar(表示的libwww-perl(LWP)格式的Cookies文件)
import http.cookiejar import urllib.requestfilename = 'cookies.txt' cookie = http.cookiejar.LWPCookieJar(filename) handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler)response = opener.open('http://www.baidu.com') cookie.save(ignore_discard=True, ignore_expires=True) #LWP-Cookies-2.0 Set-Cookie3: BAIDUID="142D844231CDA15CB49CF9EA19F4B5D8:FG=1"; path="/"; domain=".baidu.com"; path_spec; domain_dot; expires="2086-06-03 15:18:42Z"; version=0 Set-Cookie3: BIDUPSID=142D844231CDA15CB49CF9EA19F4B5D8; path="/"; domain=".baidu.com"; path_spec; domain_dot; expires="2086-06-03 15:18:42Z"; version=0 Set-Cookie3: H_PS_PSSID=1420_26459_21123_26350_26433; path="/"; domain=".baidu.com"; path_spec; domain_dot; discard; version=0 Set-Cookie3: PSTM=1526472241; path="/"; domain=".baidu.com"; path_spec; domain_dot; expires="2086-06-03 15:18:42Z"; version=0 Set-Cookie3: BDSVRTM=0; path="/"; domain="www.baidu.com"; path_spec; discard; version=0 Set-Cookie3: BD_HOME=0; path="/"; domain="www.baidu.com"; path_spec; discard; version=0Cookies使用
在之前已经下载的了对应格式类型的cookies。下面,我们要学着去使用这个内容。
下面是用MozillaCookieJar。这也就是为什么之前在上面规定了要使用不同的格式
实例代码
输出的内容
<meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta content="always" name="referrer"><meta name="theme-color" content="#2932e1"><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /><link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索" /><link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><lin下面是用LWPCookieJar。
实例代码
输出的内容
<meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta content="always" name="referrer"><meta name="theme-color" content="#2932e1"><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /><link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索" /><link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><lin附录
参考崔老师书籍结合自己想法实现。
总结
以上是生活随笔为你收集整理的urllib使用cookies(下载,提取)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 设置timeout限制在爬虫中的运用
- 下一篇: 【解决方案】requests.excep