我正在抓取一个可能包含很多的网站start_urls,例如:
start_urls
http://www.a.com/list_1_2_3.htm
我想像start_urls一样填充[list_\d+_\d+_\d+\.htm],并像[node_\d+\.htm]在爬网期间那样从URL中提取项目。
[list_\d+_\d+_\d+\.htm]
[node_\d+\.htm]
我可以CrawlSpider用来实现此功能吗?以及如何start_urls在抓取过程中动态生成?
CrawlSpider
动态生成URL的最佳方法是重写Spider 的start_requests方法:
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)