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

我正在抓取一个可能包含很多的网站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在抓取过程中动态生成?

回答:

动态生成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)

以上是 如何在抓取中动态生成start_urls? 的全部内容, 来源链接: utcz.com/qa/431623.html

回到顶部