基于spider的全站数据爬取

全站数据爬取就是将网站中某板块下的全部页码对应的页面进行爬取解析

需求:爬取校花网中照片的名称

实现方式:

将所有页面的url添加到start_url列表中(不推荐)

自行手动的进行请求发送(推荐)

  • 手动请求发送
  • yield scrapy.Request(url=new_url,callback=self.parse)
    import scrapy
    
    
    class XiaohuaSpider(scrapy.Spider):
        name = 'xiaohua'
        # allowed_domains = ['www.xxx.com']
        start_urls = ['http://www.521609.com/daxuemeinv/']
    
        # 生成一个通用的url模板(不可变)
        url = 'http://www.521609.com/daxuemeinv/list8%d.html'
        page_num = 2
    
        def parse(self, response):
            li_list = response.xpath('//*[@id="content"]/div[2]/div[2]/ul/li')
            for li in li_list:
                img_name = li.xpath('./a[2]/b/text() | ./a[2]/text()'  ).extract_first()
                print(img_name)
    
            if self.page_num <= 11:
                new_url = format(self.url%self.page_num)
                self.page_num += 1
                # 手动请求发送:callback回调函数是专门用作于数据解析
                yield scrapy.Request(url=new_url,callback=self.parse)
原文地址:https://www.cnblogs.com/nanjo4373977/p/12986706.html