scrapy -- 基于Spider的全站数据爬取

基于Spider的全站数据爬取

什么是全站数据爬取?

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

下面我基于 校花网 进行全站数据爬取

#1.爬虫文件.py代码示例:
import scrapy

class XiaohuaSpider(scrapy.Spider):
    name = 'xiaohua'
    # allowed_domains = ['www.xxx.com']
    start_urls = ['http://www.521609.com/meinvxiaohua/']

    #生成一个通用的url模板(不可变)
    url = 'http://www.521609.com/meinvxiaohua/list12%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)
			
			
#这里我就不做持久化存储了,要存储的话,自己可以去看看我  scrapy--入门  的数据持久化存储

posted @   志强爱璇璇  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示