scrapy是工作流程
-
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。
-
Scrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度
1.1 一般的爬虫流程
一般爬虫流程.png1.2 上面的流程可以改写为
image.png1.3 scrapy的流程
image.png其流程可以描述如下:
- 调度器把requests-->引擎-->下载中间件--->下载器
- 下载器发送请求,获取响应---->下载中间件---->引擎--->爬虫中间件--->爬虫
- 爬虫提取url地址,组装成request对象---->爬虫中间件--->引擎--->调度器
- 爬虫提取数据--->引擎--->管道
- 管道进行数据的处理和保存
注意:
- 图中绿色线条的表示数据的传递
- 注意图中中间件的位置,决定了其作用
- 注意其中引擎的位置,所有的模块之前相互独立,只和引擎进行交互
1.4 scrapy中每个模块的具体作用
image.pngscrapy 流程总结
创建项目
scrapy startproject 项目名
创建爬虫
scrapy genspider 爬虫名 允许域
编写模型对象
编写字段
编写爬虫代码
-
修改 start_urls 开始请求路径
-
实现 parse 解析方法提取数据
xpath 提取出来的是 列表 列表中包含很多 selector
使用 selector 对象 extract 方法或者 extract_first 方法 提取数据 -
使用 yield 提交数据给引擎
构建 模型对象
给模型对象赋值
yield 模型对象
编写管道代码
- 创建管道类
- 实现管道方法
process_item
open_spider
close_spider - 配置启动管道
运行爬虫
scrapy crawl 爬虫名
网友评论