Python爬虫编程思想(13):读取和设置Cookie
Posted 蒙娜丽宁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(13):读取和设置Cookie相关的知识,希望对你有一定的参考价值。
一个功能强大的爬虫需要全方位,多维度地模拟浏览器向服务端发送请求,除了我们以前讲到的模拟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.HTTPCookieProcess
以上是关于Python爬虫编程思想(13):读取和设置Cookie的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫编程思想(74): 使用FileInput对象读取文件