创建文件模板
scrapy genspider -t crawl tencent tencent.com
CrawlSpiders就是为爬取整站孕育而生的,我们以前是分页下一页,然后再yied。这样太麻烦。CrawlSpiders是你只需要写好规则之后。他就会根据你这一页的response得到符合条件的url,然后再进去,再分析。
只需要增加两三行代码就可以替换我们以前的分页逻辑。
# -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from scrapy_splash import SplashRequest class TencentSpider(CrawlSpider): name = 'tencent' #起始页 start_urls = ['http://lab.scrapyd.cn/page/1'] rules = ( #制定爬取的url规则 Rule(LinkExtractor(allow=r'http://lab.scrapyd.cn/page/'), callback='parse_item', follow=True), ) #爬取每页的这个数据 def parse_item(self, response): print(response.xpath('///*[@id="main"]/div[1]/span[1]/text()'))