python爬虫--scrapy框架的学习和使用(七)⭐---第二部分

文章目录九、CrawlSpider⭐⭐⭐实战项目问题总结十、分布式爬虫十一、总结九、CrawlSpider⭐⭐⭐是一个类,基于Spider的子类。子类继承父类所有的功能,并能派生出自己的功能! 用于全栈数据的爬取基于Spider:手动请求基于CrawlSpider使用流程创建工程(同以前不变)cd XXX创建爬虫文件(CrawlSpider):scrapy genspider -t crawl xxx www.xxx.com【scrapy genspid
摘要由CSDN通过智能技术生成


九、CrawlSpider⭐⭐⭐

是一个类,基于Spider的子类。
子类继承父类所有的功能,并能派生出自己的功能!

  • 用于全栈数据的爬取
  1. 基于Spider:手动请求
  2. 基于CrawlSpider
  • 使用流程
  1. 创建工程(同以前不变)
  2. cd XXX
  3. 创建爬虫文件(CrawlSpider):
  • scrapy genspider -t crawl xxx www.xxx.comscrapy genspider -t crawl sun www.xxx.com
  • 链接提取器:根据指定的规则(allow)进行指定的提取
  • 规则解析器:将链接提取器的链接进行指定规则(callback)的解析操作

在这里插入图片描述

实战项目

  • 需求

爬取sun网站网站中的编号、新闻标题、新闻内容、编号

  • 分析

爬取的数据没有在同一张页面中

  • 流程
  1. 可以使用链接提取器提取所有的页码链接
  2. 让链接提取器提取所有的新闻详情页
  • 源码解析
  1. sun.py
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule

from sunPro.items import SunproItem,DetailItem



# 需求:爬取sun网站网站中的编号、新闻标题、新闻内容、编号
class SunSpider(CrawlSpider):
    name = 'sun'
    # allowed_domains = ['www.xxx.com']
    start_urls = ['https://wzzdg.sun0769.com/political/index/politicsNewest?id=1&page=1']

    # 链接提取器:根据指定规则(allow="正则")进行指定链接的提取
    link = LinkExtractor(allow=r'id=1&page=\d+')
    link_detail = LinkExtractor(allow=r'index\?id=\d+')
    
    
    rules = (
        # 规则解析器:将链接提取器的链接进行指定规则(callback)的解析操作
        # 提取链接的个数和回调的次数是相同的
        Rule(link, callback='parse_item', follow=True),

        Rule
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值