我有一个项目需要爬取大量不同的网站。由于我不需要从其主体页面中提取信息,因此所有这些网站的爬取都可以使用相同的Spider。我想到的方法是在Spider文件中对要爬取的域进行参数化,并传递域和起始URL作为参数调用Scrapy爬行命令,以便我可以避免为每个站点生成单个Spider(站点列表将随时间增加)。我的想法是将其部署到运行Scrapyd的服务器上,因此我有几个问题:
- 这是我可以采取的最佳方法吗?
- 如果是这样,如果我多次以不同的参数调度相同的Spider,是否存在并发问题?
- 如果这不是最好的方法,更好的方法是为每个站点创建一个单独的Spider……我将经常更新项目。项目更新会影响正在运行的Spiders吗?
allowed_domains
感到困惑,它可以在运行时(基于输入)设置,而不是在源代码中设置。 - Frederic Bazinallowed_domains
而不是在源代码中? - Mr Alexander