目录
- 1、Scrapy爬虫框架介绍
- 1.1 requests库和Scarpy爬虫的比较
- 1.2 Scrapy爬虫的常用命令
- 2、Scrapy爬虫基本使用
- 2.1 步骤
- 2.2 yield关键字的使用
1、Scrapy爬虫框架介绍
安装Scrapy库:pip install scrapy
爬虫框架:是实现爬虫功能的一个软件结构和功能组件集合
爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫
5+2结构:5个主要模块以及两个中间键,以及3个数据流路径
Engine:
- 控制所有模块之间的数据流
- 根据条件触发事件
- 不需要用户修改,是核心
Downloader:
- 根据请求下载网页
- 不需要用户修改
Scheduler:
- 不需要用户修改,对所有爬虫请求进行调度管理
Engine与Downloader之间增加了一个中间键Downloader Middleware:
Spider
- 解析Downloader返回的响应
- 产生爬取项
- 产生额外的爬取请求
item PipeLines
- 以流水线方式处理Spider产生的爬取项
- 由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
- 可能操作包括:请理、检验和查重爬取项中的HTML数据、将数据存储在数据库中
Spider与 item PipeLines之间增加了另一个中间键 Spider middleware
总结:用户需要重点编写spider模块和item pipelines模块
1.1 requests库和Scarpy爬虫的比较
不同点:
应用选择:
1.2 Scrapy爬虫的常用命令
2、Scrapy爬虫基本使用
2.1 步骤
步骤1:建立一个Scrapy爬虫工程
打开command,进入D盘的pycodes目录,在其中建立爬虫工程
在执行上面代码后,在D盘的pycodes目录会产生以下的目录
步骤2:在工程中产生一个Scrapy爬虫
scrapy genspider --生成爬虫
步骤3:配置产生的spider爬虫
2.2 yield关键字的使用
yield ---- 生成器
- 生成器是一个不断产生值的函数
- 包含yield语句的函数是一个生成器
- 生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值
yield通常结合for循环一起执行
为什么用生成器呢?
- 更节省存储空间
- 响应更加迅速
- 使用更加灵活