python爬虫如何保存cookie到本地?

797次阅读
没有评论

python爬虫如何保存cookie到本地?

在使用python爬取网站信息的过程中,如果遇到http请求是无状态的,可以使用cookie在第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地。本文向大家介绍python爬虫保存cookie到本地的方法。

一、什么是cookie?

当用户通过浏览器首次访问一个域名时,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。

cookie是Internet站点创建的,为了辨别用户身份而储存在用户本地终端上的数据,cookie大部分都是加密的。

二、python爬虫保存cookie到本地

可以使用cookiejar的save方法,并且需要指定一个文件名

from urllib import request,parse
from http.cookiejar import MozillaCookieJar
 
 
#保存cookie到本地文件
cookiejar=MozillaCookieJar('cookie.txt')
handler=request.HTTPCookieProcessor(cookiejar)
opener=request.build_opener(handler)
resp=opener.open('http://httpbin.org/cookies/set?freeform=course%3Daaa') 
#resp=opener.open('http://www.baidu.com/')
#cookiejar.save()
 
cookiejar.save(ignore_discard=True)

即将过期的cookie信息也会保存起来

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.
 
.baidu.com	TRUE	/	FALSE	1644745918	BAIDUID	91DC90905091E99B1D1B062FE3CF3549:FG=1
.baidu.com	TRUE	/	FALSE	3760693565	BIDUPSID	91DC90905091E99B75D901DB55EEB2B9
.baidu.com	TRUE	/	FALSE		H_PS_PSSID	33423_33401_33344_33585_26350
.baidu.com	TRUE	/	FALSE	3760693565	PSTM	1613209918
www.baidu.com	FALSE	/	FALSE		BDSVRTM	0
www.baidu.com	FALSE	/	FALSE		BD_HOME	1

以上就是python爬虫保存cookie到本地的介绍,cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据哦~

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-07-18发表,共计1253字。
新手QQ群:570568346,欢迎进群讨论 Python51学习