Python爬虫之cookie的获取、保存和使用【新手必学】(爬虫如何获取cookie)

网友投稿 520 2022-06-19


前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:huhanghao

Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容,登陆前与登陆后是不同的,或者不允许的。另外如果你刚学不久。对这方面还不熟,建议先去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,多跟里面的人交流,比自己摸索效率更高哦!

在python中它为我们提供了cookiejar模块,它位于http包中,用于对Cookie的支持。通过它我们能捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。

## cookie的获取

# -*- coding: UTF-8 -*-

from urllib import request

from http import cookiejar

if __name__ == '__main__':

   #声明一个CookieJar对象实例来保存cookie

   cookie = cookiejar.CookieJar()

   #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler

   handler=request.HTTPCookieProcessor(cookie)

   #通过CookieHandler创建opener

   opener = request.build_opener(handler)

   #此处的open方法打开网页

   response = opener.open('http://baidu.com')

   #打印cookie信息

   for item in cookie:

       print('Name = %s' % item.name)

       print('Value = %s' % item.value)

cookie的文件保存

# -*- coding: UTF-8 -*-

from urllib import request

from http import cookiejar

if __name__ == '__main__':

   #设置保存cookie的文件,同级目录下的cookie.txt

   filename = 'cookie.txt'

   #声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件

   cookie = cookiejar.MozillaCookieJar(filename)

   #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler

   handler=request.HTTPCookieProcessor(cookie)

   #通过CookieHandler创建opener

   opener = request.build_opener(handler)

   #此处的open方法打开网页

   response = opener.open('http://baidu.com')

   #保存cookie到文件

   cookie.save(ignore_discard=True, ignore_expires=True)

加载保存的cookie,并进行网页访问

# -*- coding: UTF-8 -*-

from urllib import request

from http import cookiejar

if __name__ == '__main__':

   #设置保存cookie的文件的文件名,相对路径,也就是同级目录下

   filename = 'cookie.txt'

   #创建MozillaCookieJar实例对象

   cookie = cookiejar.MozillaCookieJar()

   #从文件中读取cookie内容到变量

   cookie.load(filename, ignore_discard=True, ignore_expires=True)

   #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler

   handler=request.HTTPCookieProcessor(cookie)

   #通过CookieHandler创建opener

   opener = request.build_opener(handler)

   #此用opener的open方法打开网页

   response = opener.open('http://baidu.com')

   #打印信息

   print(response.read().decode('utf-8'))

这里对cookie的使用类似于,之前我们用到的对代理的使用。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:机器学习实战:基于Scikit-Learn和TensorFlow 读书笔记 第6章 决策树
下一篇:Pyhton表白代码——浪漫圣诞节(pythin表白代码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~