【发布时间】:2017-08-28 06:49:15
【问题描述】:
默认情况下,scrapy 在请求中存储和传递 cookie。但是如何在蜘蛛的某个点访问或清除存储的 cookie?谢谢?
【问题讨论】:
默认情况下,scrapy 在请求中存储和传递 cookie。但是如何在蜘蛛的某个点访问或清除存储的 cookie?谢谢?
【问题讨论】:
要将 cookie 设置为特定请求,请使用 request cookies field,例如来自文档:
request_with_cookies = Request(url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'})
访问请求 cookie:
request.headers.getlist('Cookie')
响应 cookie:
response.headers.getlist('Set-Cookie')
更多详情见cookies middleware
【讨论】:
在您的下一个请求中避免使用 cookie 的一种方法是使用 meta 参数 dont_merge_cookies:
Request(url, meta={'dont_merge_cookies': True})
【讨论】:
没有完全清除它们,但setting COOKIES_ENABLED to false in scrapy settings 会阻止它们被使用。
【讨论】: