小编典典

如何在抓取中动态生成start_urls?

scrapy

我正在抓取一个可能包含很多的网站start_urls,例如:

http://www.a.com/list_1_2_3.htm

我想像start_urls一样填充[list_\d+_\d+_\d+\.htm],并像[node_\d+\.htm]在爬网期间那样从URL中提取项目。

我可以CrawlSpider用来实现此功能吗?以及如何start_urls在抓取过程中动态生成?


阅读 1194

收藏
2020-04-09

共1个答案

小编典典

动态生成URL的最佳方法是重写Spider 的start_requests方法:

from scrapy.http.request import Request

def start_requests(self):
      with open('urls.txt', 'rb') as urls:
          for url in urls:
              yield Request(url, self.parse)
2020-04-09