为什么要伪装cookies
在访问网站的时候,我们经常遇到有些页面必须用户登录才能访问。我们以前即使写的伪装了代理ip,设置了头信息,但是运行次数多了还是会被封。
由于本节只是单纯的想保持一下登陆状态,所以就不写复杂的获取页面了
原理
一般情况下,网站通过存放在客户端的一个被称作cookie的小文件来存放用户的登陆信息。在浏览器访问网站的时候,会把这个小文件发往服务器,然后服务器根据这个小文件确定你的身份,然后返回给你特定的信息。
我们要做的就是尽量模拟浏览器的行为,在使用爬虫访问网站时也带上cookie来访问。
前提
前提当然是你有个账号了,并且登陆成功了。当然你的爬虫运行时间
限制缺点
cookies一般的时间比较短,大约15分钟,所以如果你的爬虫运行时间比较长的话是不适用的,这个本人以后会写一篇可以长时间爬去的
获取cookie
按照以下步骤操作
- 登陆某论坛,进入主页
- 按F12进入Chrome或Firefox的开发者调试工具,选择Network选项卡
- 按F5刷新一下页面
- 选择Doc子选项卡
- 找到主页的请求和返回情况
- 找到Request Headers
- 复制出cookie
如图:
把cookie转化格式
在scrapy中,设置cookie需要是字典格式的,可是我们从浏览器Copy出来的是字符串格式的,所以这个cookies我们并不能直接使用所以我们需要写个小程序来转化一下
transCookie.py