dreamingtech / spider_plus_fw

scrapy_plus, spider_plus, 仿 scrapy 爬虫框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spider_plus_fw 使用说明

基于 scrapy 开发的 python 分布式爬虫框架, 实现了 scrapy 的基本功能, 包括

三个内置对象:

请求对象(Request) 响应对象(Response) 数据对象(Item)

五个核心组件:

爬虫组件

​ 构建请求信息(初始的),也就是生成请求对象(Request) ​ 解析响应对象,返回数据对象(Item)或者新的请求对象(Request)

调度器组件

​ 缓存请求对象(Request),并为下载器提供请求对象,实现请求的调度 ​ 对请求对象进行去重判断

下载器组件

​ 根据请求对象(Request),发起HTTP、HTTPS网络请求,拿到HTTP、HTTPS响应,构建响应对象(Response)并返回

管道组件

​ 负责处理数据对象(Item)

引擎组件

​ 负责驱动各大组件,通过调用各自对外提供的API接口,实现它们之间的交互和协作 ​ 提供整个框架的启动入口

两个中间件:

 爬虫中间件
     对请求对象和数据对象进行预处理
 下载器中间件
     对请求对象和响应对象进行预处理

使用方法

见 spider_project 文件夹

进一步完善

  1. 添加异常处理模块
  2. 添加代理池和cookies池功能
  3. 添加爬虫监控组件
  4. xpath规则入库, 从数据库提取xpath规则, 方便后期维护
  5. 修改爬虫调度器, 实现多个爬虫请求的轮流发送, 以达到反反爬以及最大化使用代理的效果
  6. 添加布隆过滤器作为去重方法, 支持亿级请求过滤
  7. 添加常用的数据库连接组件, mongodb, mysql, postgresql, redis

About

scrapy_plus, spider_plus, 仿 scrapy 爬虫框架


Languages

Language:Python 100.0%