[原]Python爬虫编程思想(13):读取和设置Cookie
2021-07-30 19:00:03 Author: blog.csdn.net(查看原文) 阅读量:50 收藏

        一个功能强大的爬虫需要全方位,多维度地模拟浏览器向服务端发送请求,除了我们以前讲到的模拟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函数


文章来源: https://blog.csdn.net/nokiaguy/article/details/119253361
如有侵权请联系:admin#unsafe.sh