我有一只蜘蛛可以创建带有参数的+100蜘蛛。 那些蜘蛛刮掉x物品并将它们转发到mysql管道。 mysqldatabase当时可以处理10个连接。 由于这个原因,我最多只能同时运行10只蜘蛛。 我怎样才能做到这一点?
我现在没有成功的方法 - 将蜘蛛添加到第一个蜘蛛中的列表中,如下所示:
if item.get('location_selectors') is not None and item.get('start_date_selectors') is not None:
spider = WikiSpider.WikiSpider(template=item.get('category'), view_threshold=0, selectors = {
'location': [item.get('location_selectors')],
'date_start': [item.get('start_date_selectors')],
'date_end': [item.get('end_date_selectors')]
})
self.spiders.append(spider)
然后在第一个蜘蛛中我听到close_spider信号:
def spider_closed(self, spider):
for spider in self.spiders:
process = CrawlerProcess(get_project_settings())
process.crawl(spider)
但这种方法给我以下错误: 与另一方的联系以非干净的方式丢失了
以顺序方式启动多个蜘蛛的正确方法是什么? 提前谢谢!