Python相关实用技巧04:网络爬虫之Scrapy框架及案例分析

1 Scrapy爬虫框架介绍

1.1 Scrapy简介与安装

Scrapy是一个快速且功能强大的的网络爬虫框架。

  • Python中实用的第三方库

  • 重要的爬虫技术方法

  • Scrapy安装执行:pip install scrapy

  • 安装后小测:执行scrapy -h

1.2 scrapy爬虫框架结构

  • 爬虫框架:

    • 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。
    • 爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。
  • “5+2”结构(分布式、数据流):Spiders、Item Pipelines、Engine、Scheduler、Downloader。
    scrapy框架

1.3 爬虫框架解析

  • Engine:

    • 控制所有模块之间的数据流
    • 根据条件触发事件
    • 不需要用户修改
  • Downloader

    • 根据请求下载网页
    • 不需要用户修改
  • Scheduler:

    • 对所有爬虫请求进行调度管理
    • 不需要用户修改
  • Downloader Middleware:

    • 目的:实施Engine、Scheduler和Downloader之间进行用户可配置的控制
    • 功能:修改、丢弃、新增请求或响应
    • 用户可以编写配置代码
  • Spider(框架入口):

    • 解析Downloader返回的响应(Response)
    • 产生爬取项(scraped item)
    • 产生额外的爬取请求(Request)
    • 需要用户编写配置代码
  • Item Pipeline(框架出口):

    • 以流水线方式处理Spider产生的爬取项
    • 由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
    • 可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据存储到数据库
    • 需要用户编写配置代码
  • Spider Middleware

    • 目的:对请求和爬取项的再处理
    • 功能:修改、丢弃、新增请求或爬取项
    • 用户可以编写配置代码

2 requests库 和 Scrapy框架爬虫比较

  1. 相同点
    (1)两者都可以进行页面请求和爬取,Python爬虫的两个重要技术路线
    (2)两者可用性都好,文档丰富,入门简单
    (3)两者都没有处理js、提交表单、应对验证码等功能(可扩展)

  2. 不同点
    不同点

  3. 选用谁?

  • 非常小的需求,requests库
  • 不太小的需求,Scrapy框架
  • 定制程度很高的需求(不考虑规模),自搭框架,requests > Scrap

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值