如何在scrapy中修改cookies

发布于 2022-09-11 16:03:31 字数 1801 浏览 24 评论 0

问题描述

爬取https://auto.ru/cars/all/?sor...,打开页面之后需要点击一个按钮,在点击按钮的时候,网站会设置cookies.但是在cookies中有一个字段不是通过set-cookies设置的,字段为'gdpr':'1'
完整字段为:

_csrf_token=020335a5dcb38cc95823931e5590aa1d6f8e0c8e5d1efbee; suid=77c527af480928e8842121176d182182.9bbd97c75bea15045fc7de2399bfbbea; 
from=direct; autoru_sid=a%3Ag5c0a49f62a75ujsbkcumbspu4hpvpn0.f004ec1118196bd8749cc43268eafa85%7C1544178166087.604800.kZCWC5djG3zKbPIpqNyfVA.EuliNzEnolonmG71Ik1guRXEQZeqqojzIJQwZf1ZJ60; autoruuid=g5c0a49f62a75ujsbkcumbspu4hpvpn0.f004ec1118196bd8749cc43268eafa85; 
gdpr=1;
from_lifetime=1544178179814;
X-Vertis-DC=sas


在requests请求中好解决

url = 'https://auto.ru/cars/all/?sort=fresh_relevance_1-desc&output_type=list&page=1'

header = {
    "Connection":"keep-alive",
    "Upgrade-Insecure-Requests":"1",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Accept-Encoding":"gzip, deflate, br",
    "Accept-Language":"zh-CN,zh;q=0.9",
}
requests_session = requests.session()
requests_session.cookies = requests.utils.cookiejar_from_dict({'gdpr':'1'})

但是使用scrapy如何解决这个问题呢?

scrapy中可以设置开启cookies

'COOKIES_ENABLED':True,
'COOKIES_DEBUG':True,

也可以在请求中传递cookies

yield scrapy.Request(url=task['task_url'],callback=self.handle_car_item_response,meta={'cookiejar':i})

这个请求传递到middware的CookiesMiddleware中,我该如何操作,才能把'gdpr':'1'这个字段附加到原cookies中呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文