首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >暂停CrawlerProcess中的单个爬行器

暂停CrawlerProcess中的单个爬行器
EN

Stack Overflow用户
提问于 2019-05-13 22:07:07
回答 1查看 50关注 0票数 0

我目前正在从事一个项目,涉及从各种(约50个网站)爬行数据。有一个网站有多个页面我们需要抓取,但这个网站不允许多个会话。(网站已通过身份验证)。

有没有办法暂停一个爬虫,直到另一个蜘蛛完成?

我在过去的一天里一直在研究这个。我发现了一些可以暂停的方法,但似乎这些方法只对整个CrawlerProcess有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 05:08:16

解决方案实际上相当简单。每只蜘蛛都有一个唯一的识别码。在设置CrawlerProcess时,程序检查唯一的代码是否与需要暂停的代码相同,如果是,它会将爬行器实例传递给需要首先运行的爬行器,然后该爬行器将使用self.custom_settings['XX_SPIDER'].crawler.pause()暂停它,完成后,在closed()函数中将使用self.custom_settings['XX_SPIDER'].crawler.unpause()取消暂停它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56114106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档