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