相关疑难解决方法(0)

Scrapy - 如何管理cookie /会话

关于cookies如何与Scrapy一起工作,以及如何管理这些cookie,我有点困惑.

这基本上是我正在尝试做的简化版本: 在此输入图像描述


网站的运作方式:

当您访问该网站时,您将获得一个会话cookie.

当您进行搜索时,网站会记住您搜索的内容,因此当您执行类似于进入下一页结果的操作时,它会知道它正在处理的搜索.


我的剧本:

我的蜘蛛有一个searchpage_url的起始网址

请求parse()搜索页面,并将搜索表单响应传递给search_generator()

search_generator()那么yield很多搜索请求使用FormRequest和搜索表单响应.

每个FormRequests和后续子请求都需要拥有自己的会话,因此需要拥有自己的cookiejar和自己的会话cookie.


我已经看到了文档的一部分,它讨论了一个阻止cookie被合并的元选项.这究竟意味着什么?是否意味着提出请求的蜘蛛将在其余生中拥有自己的cookiejar?

如果cookie是按蜘蛛级别进行的,那么当生成多个蜘蛛时它是如何工作的?是否有可能只使第一个请求生成器产生新的蜘蛛,并确保从那时起只有该蜘蛛处理未来的请求?

我假设我必须禁用多个并发请求..否则一个蜘蛛会在同一会话cookie下进行多次搜索,未来的请求只会涉及最近的搜索?

我很困惑,任何澄清都会受到极大的欢迎!


编辑:

我刚才想到的另一个选择是完全手动管理会话cookie,并将其从一个请求传递到另一个请求.

我想这意味着禁用cookie ..然后从搜索响应中获取会话cookie,并将其传递给每个后续请求.

这是你在这种情况下应该做的吗?

python cookies session session-cookies scrapy

51
推荐指数
2
解决办法
4万
查看次数

标签 统计

cookies ×1

python ×1

scrapy ×1

session ×1

session-cookies ×1