是否可以同时抓取多个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只联接两个列表,而不是在同一时间运行它们。
致谢非常
答
使用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)
你不能。你需要运行多个蜘蛛。 –
你是什么意思“同时”?这个要求有点含糊,因为我相信你实际上并不需要同时下载这些页面,所以在这种情况下没有意义。如果您只希望进程在同一时间运行,那么使用多个start_urls的单个爬网或多个并行运行的爬网程序即可满足此条件。但是如果你的目标是总爬行时间更短,那么你的问题就会出错。 – bosnjak