介绍
Pider
框架的目的是用PHP创建一个优雅的,可靠的,有用的爬虫框架。
动机
毫无疑问, PHP
是一个很好的web编程语言。社区里面,各种web开发框架 也层出不穷,但是爬虫和数据处理框架却寥寥无几,而好用的几乎没有。我相信不仅仅只是可以在web领域大 放光彩,也可以在可以在数据处理和爬虫方面有所作为,就好像Python。所以,我萌发了写一个爬虫和数据 处理方面的框架。从理想上来说,它能够覆盖数据抓取,数据清洗,数据分析,和数据可视化各个方面。
特性
目前只是将 Pider
将具备的特性罗列出来,可能有些特性目前还没有实现, 但是会陆续实现和完善。
- 模板化 (未实现)
Pider
将允许通过定制化模板来编写爬虫,并管理爬虫的生命周期。
- 命令行 (简单实现)
Pider
将提供丰富的命令行交互接口。
- 多进程 (已实现)
Pider
有时候,需要爬虫需要进行大数量内容爬取,这个时候,单进程太慢而无法 而无法满足需求,多进程能够充分运用多核 CPU
, 大大提高爬取效率和降低爬取时间。 Pider
将支持多进程抓取, 允许 多个进程并行对页面抓取和数据处理。
- 分组 (未实现)
有时候, 我们需要抓取多个页面, 然后对抓取的页面进行解析, 然后对进行解析的数据处理, 当然, 两个操作可以放在一起处理, 但是当两种操作其中一个很繁琐的时候, 这个很容易造成代码冗长,代码复用率低, Pider
的 Group
特性允许组合多个爬虫,爬虫和数据处理,以及多个数据处理操作。让爬虫和数据管理程序更加容易管理。
- 数据清洗 (部分实现)
从网页抓取的信息很多都是原始的或者不完整的。所以我们需要花很多的 精力来清洗,重组,补全原始数据。 Pider
框架提供了一套数据清理模型 ActivedCarbon Model
来帮助你从 繁重的数据清洗工作中脱离出来。
如果你对本项目感兴趣, 或者觉得对你有用,可以在给项目一个
star
或者watch
, 项目地址:https://github.com/duanqiaobb/pider