从另一只蜘蛛

时间:2016-05-01 09:40:55

标签: scrapy

我有一只蜘蛛可以创建带有参数的+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)

但这种方法给我以下错误: 与另一方的联系以非干净的方式丢失了

以顺序方式启动多个蜘蛛的正确方法是什么? 提前谢谢!

0 个答案:

没有答案