懒得写就转载其他人的part
当我使用scrapy爬瓜子二手车的时候,响应的页面竟然不是正常的页面。
然后想到了瓜子二手车可能需要验证cookie跟header。
接着到浏览器复制了请求头的键值对,粘贴到了scrapy的settings文件的EFAULT_REQUEST_HEADERS的字典里面
接着把COOKIES_ENABLED设置了为True,表示激活cookie。
接着马上尝试访问瓜子二手车,结果还是不行。
然后各种尝试。。。。。。。。。。。。。。
最后终于发现的问题所在
当COOKIES_ENABLED是注释的时候scrapy默认没有开启cookie
当COOKIES_ENABLED没有注释设置为False的时候scrapy默认使用了settings里面的cookie
当COOKIES_ENABLED设置为True的时候scrapy就会把settings的cookie关掉,使用自定义cookie
所以当我使用settings的cookie的时候,又把COOKIES_ENABLED设置为True,scrapy就会把settings的cookie关闭,
而且我也没使用自定义cookie,导致整个请求根本没有cookie,导致获取页面失败。
总结:
如果使用自定义cookie就把COOKIES_ENABLED设置为True
如果使用settings的cookie就把COOKIES_ENABLED设置为False
---------------------
作者:骑单车的贝塔
来源:CSDN
原文:https://blog.csdn.net/qq_38949193/article/details/81410582
我的part
使用downloadmiddleware设置cookie时,总是访问失败,
结果将 COOKIES_ENABLED 设置为False的时候才访问成功,
因此原文作者中的总结可能与事实有些偏颇,但方向并没有问题,只不过关于True和False的界限问题不够准确,准确界限问题待验证~