7

Python爬虫编程思想(13):读取和设置Cookie

 4 years ago
source link: https://blog.csdn.net/nokiaguy/article/details/119253361
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python爬虫编程思想(13):读取和设置Cookie

original.png
蒙娜丽宁 2021-07-30 18:00:03 14
专栏收录该内容
14 篇文章 1 订阅 ¥99.00 ¥29.90

        一个功能强大的爬虫需要全方位,多维度地模拟浏览器向服务端发送请求,除了我们以前讲到的模拟User-Agent请求字段,通过代理模拟多个IP发送请求,还有一个重要的模拟维度,那就是模拟Cookie。Cookie本质上是服务端向客户端返回响应数据后在客户端留下的印记,而当客户端再次访问服务端时会带上这个印记。例如,用户第一次成功登录后,会在浏览器的Cookie中保存一个ID,当浏览器再次访问该服务端时会带上这个ID,当服务端看到这个ID时,就会认为这个用户已经是登录用户了,就会返回登录后的数据,否则可能会拒绝客户端的请求。对于爬虫来说,如果要获取登录后服务端返回的数据,除了模拟登录外,还有另外一个方法,就是在向服务端发送请求的同时带上包含ID的Cookie,这样爬虫在无法得知用户名和密码的情况下,仍然能以登录用户的身份获取数据。

        在客户端访问服务端时,服务端会通过响应头的Set-Cookie字段向客户端发送一些Cookie,当客户端接收到这些Cookie后,通常会将这些Cookie保存到Cookie文件中,以便客户端再次访问服务端时读取这些Cookie,并发送给服务端。当爬虫访问向这些服务端发送请求时也需要执行同样的操作。操作的第一步就是读取服务端通过Set-Cookie字段发送过来的Cookie。读取Cookie需要创建http.cookiejar.CookieJar类的实例,然后再创建urllib.request.HTTPCookieProcessor类的实例,并将http.cookiejar.CookieJar类的实例传入urllib.request.HTTPCookieProcessor类的构造方法中。而build_opener函数的参数就是urllib.request.HTTPCookieProcessor类的实例。这样当build_opener函数


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK