是否可以同时抓取多个start_urls列表

问题描述:

我有3个URL文件,它们都具有相同的结构,因此所有列表都可以使用相同的蜘蛛。 一个特殊的需求是所有三个需要同时抓取。是否可以同时抓取多个start_urls列表

是否可以在不创建多个蜘蛛的同时抓取它们?

我相信这个答案

start_urls = ["http://example.com/category/top/page-%d/" % i for i in xrange(4)] + \ 
["http://example.com/superurl/top/page-%d/" % i for i in xrange(55)] 

Scrap multiple urls with scrapy只联接两个列表,而不是在同一时间运行它们。

致谢非常

+0

你不能。你需要运行多个蜘蛛。 –

+2

你是什么意思“同时”?这个要求有点含糊,因为我相信你实际上并不需要同时下载这些页面,所以在这种情况下没有意义。如果您只希望进程在同一时间运行,那么使用多个start_urls的单个爬网或多个并行运行的爬网程序即可满足此条件。但是如果你的目标是总爬行时间更短,那么你的问题就会出错。 – bosnjak

使用start_requests代替start_urls ...这将工作在V

class MySpider(scrapy.Spider): 
name = 'myspider' 

def start_requests(self): 
    for page in range(1,20): 
     yield self.make_requests_from_url('https://www.example.com/page-%s' %page)