关于Python网络爬虫框架scrapy
作者:菜鸟小超
这篇文章主要介绍了关于Python网络爬虫框架scrapy,爬虫框架是实现爬虫功能的一个软件结构和功能组件的集合,需要的朋友可以参考下
scrapy爬虫框架介绍
scrapy不是一个简单的函数功能库,而是一个爬虫框架
爬虫框架:
- 爬虫框架是实现爬虫功能的一个软件结构和功能组件的集合。
- 爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。
scrapy爬虫框架结构
“5+2”结构:
- ENGINE :已有的,核心,控制所有模块之间的数据流,根据条件触发事件
- SCHEDULER:已有的,对所有的爬虫请求进行调度管理
- ITEM PIPELINES :框架出口,用户编写,以流水线方式处理Spider产生的爬取项,由一组操作顺序组成,类似流水线,每个操作是一个item pipline类型,可能操作包括:清理,检验和查重爬取项中的HTML数据,将数据存储到数据库
- SPIDERS :框架入口,用户编写,解析downloader返回的响应,产生爬取项,以及额外的爬取请求
- DOWNLOADER :已有的,根据请求下载网页
- 2个MIDDLEWARE:Download Middleware:实施Engine,Scheduler和Downloader之间用户可配置的控制,即用户可以修改、丢弃、新增请求或响应。Spider Middleware,对spider的请求和爬取项的再处理。修改、丢弃、新增请求或爬取项。
requests库和scrapy库比较
相同点:两者都可以进行页面请求和爬取,Python爬虫的两个重要技术路线。 两者可用性好,文档丰富,入门简单。 两者都没有处理js、提交表单、应对验证码等功能(可扩展)
不同点:
requests | scrapy |
页面级爬虫 | 网站级爬虫 |
功能库 | 框架 |
并发性考虑不足,性能较差 | 并发性好,性能较高 |
重点在于页面下载 | 重点在于爬虫结构 |
定制灵活 | 一般定制灵活,深度定制困难 |
上手十分简单 | 入门稍难 |
scrapy的常用命令
requests | scrapy |
页面级爬虫 | 网站级爬虫 |
功能库 | 框架 |
并发性考虑不足,性能较差 | 并发性好,性能较高 |
重点在于页面下载 | 重点在于爬虫结构 |
定制灵活 | 一般定制灵活,深度定制困难 |
上手十分简单 | 入门稍难 |
到此这篇关于关于Python网络爬虫框架scrapy的文章就介绍到这了,更多相关Python爬虫框架scrapy内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!