欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

urllib使用cookies(下载,提取)

发布时间:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 urllib使用cookies(下载,提取) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

urllib保存cookies文件

一般来说,有两种文件表现格式。所对应在http库中的是MozillaCookieJar跟LWPCookieJar。区别主要体现在下载下来之后的内容上。

    • urllib保存cookies文件
    • 获取的cookies文件
    • Cookies使用
    • 附录


获取的cookies文件

MozillaCookieJar(表示的Mozilla浏览器的Cookies格式)
下载代码

import http.cookiejar import urllib.requestfilename = 'cookies.txt' cookie = http.cookiejar.MozillaCookieJar(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)

下载的内容

# 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 0

LWPCookieJar(表示的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=0

Cookies使用

在之前已经下载的了对应格式类型的cookies。下面,我们要学着去使用这个内容。

下面是用MozillaCookieJar。这也就是为什么之前在上面规定了要使用不同的格式
实例代码

import http.cookiejar import urllib.requestfilename = 'cookies.txt' cookie = http.cookiejar.MozillaCookieJar() cookie.load(filename, ignore_expires=True, ignore_discard=True) handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler)response = opener.open('http://www.baidu.com') print(response.read().decode('utf-8')[500:1000])

输出的内容

<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。
实例代码

import http.cookiejar import urllib.requestfilename = 'cookies.txt' cookie = http.cookiejar.LWPCookieJar() cookie.load(filename, ignore_expires=True, ignore_discard=True) handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler)response = opener.open('http://www.baidu.com') print(response.read().decode('utf-8')[500:1000])

输出的内容

<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(下载,提取)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。