资讯专栏INFORMATION COLUMN

Beanbun: 简单开放的 PHP 爬虫框架

mayaohua / 3479人阅读

摘要:是用编写的多进程网络爬虫框架,具有良好的开放性高可扩展性。它要天然支持分布式,支持多进程或线程,利用,可以方便的建立起一个功能强大的爬虫。

Beanbun

Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性。
项目地址:https://github.com/kiddyuchin...
文档地址:http://beanbun.org

由来

我希望有这样一个爬虫框架:在简单需求的情况下,可以用最少的代码快速建立一个功能完善的爬虫;而且如果你愿意,你可以对爬虫进行你想要的任何修改。它要天然支持分布式,支持多进程(或线程),利用 composer,可以方便的建立起一个功能强大的爬虫。
在对之前写过的一个爬虫的功能不断的删减调整后,就有了目前的 Beanbun,这个名字来自于作者家的猫,此猫名叫门丁,“门丁”是北方的一种面点。门丁 -> 豆包 -> bean bun。
我希望在这里能够抛砖引玉,和大家一起继续完善 Beanbun。

特点

支持守护进程与普通两种模式(守护进程模式只支持 Linux 服务器)

默认使用 Guzzle 进行爬取

支持分布式

支持内存、Redis 等多种队列方式

支持自定义URI过滤

支持广度优先和深度优先两种爬取方式

遵循 PSR-4 标准

爬取网页分为多步,每步均支持自定义动作(如添加代理、修改 user-agent 等)

灵活的扩展机制,可方便的为框架制作插件:自定义队列、自定义爬取方式...

安装

Beanbun 可以通过 composer 进行安装。

$ composer require kiddyu/beanbun
一个简单的例子

创建一个文件 start.php,包含以下内容

seed = [
    "http://www.950d.com/",
    "http://www.950d.com/list-1.html",
    "http://www.950d.com/list-2.html",
];
$beanbun->afterDownloadPage = function($beanbun) {
    file_put_contents(__DIR__ . "/" . md5($beanbun->url), $beanbun->page);
};
$beanbun->start();

在命令行中执行

$ php start.php

接下来就可以看到抓取的日志了。

2017-04-04 14:14:14 Beanbun worker download http://www.950d.com/ success.
2017-04-04 14:14:14 Beanbun worker download http://www.950d.com/list-1.html success.
2017-04-04 14:14:14 Beanbun worker download http://www.950d.com/list-2.html success.
最后

后边我会针对一些不同类型的网站,写一些用 Beanbun 实现爬虫的小例子,欢迎大家持续关注。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22806.html

相关文章

  • [PHP] 又是知乎,用 Beanbun 爬取知乎用户

    摘要:最近看了很多关于爬虫入门的文章,发现其中大部分都是以知乎为爬取对象,所以这次我也以知乎为目标来进行爬取的演示,用到的爬虫框架为编写的。项目地址这次写的内容为爬取知乎的用户,下面就是详细说一下写爬虫的过程了。 最近看了很多关于爬虫入门的文章,发现其中大部分都是以知乎为爬取对象,所以这次我也以知乎为目标来进行爬取的演示,用到的爬虫框架为 PHP 编写的 Beanbun。 项目地址:http...

    tomato 评论0 收藏0
  • PHP相关

    摘要:的机器学习库的机器学习库,包括算法交叉验证神经网络等内容。在即将到来的大会上,她将和大家分享在机器学习领域的全新可能。入门总结入门相关,如安装配置基本使用等。 基于 Swoole 开发 PHP 扩展 Swoole-1.9.7 增加了一个新特性,可以基于 Swoole 使用 C++ 语言开发扩展模块,在扩展模块中可以注册 PHP 内置函数和类。现在可以基于 Swoole 来编写 PHP ...

    lewinlee 评论0 收藏0
  • Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗

    摘要:然后准备再去抓下拉勾网的招聘数据,这也是个相对优秀的专业招聘网站了,数据也相当多,想当初找实习找正式工作,都是在这两个上找的,其他的网站几乎都没看。 原文地址:http://www.jtahstu.com/blog/s... Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗 零、致谢 感谢BOSS直聘相对权威的招聘信息,使本人有了这次比较有意思的研究之旅。 由于爬虫持续...

    zhkai 评论0 收藏0
  • Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗

    摘要:然后准备再去抓下拉勾网的招聘数据,这也是个相对优秀的专业招聘网站了,数据也相当多,想当初找实习找正式工作,都是在这两个上找的,其他的网站几乎都没看。 原文地址:http://www.jtahstu.com/blog/s... Pyhton爬虫实战 - 抓取BOSS直聘职位描述 和 数据清洗 零、致谢 感谢BOSS直聘相对权威的招聘信息,使本人有了这次比较有意思的研究之旅。 由于爬虫持续...

    Ocean 评论0 收藏0
  • 我在全球最大同性社交平台那点事

    摘要:从最大的同性社交平台获取数据好了,言归正传,回到题目。乌云密布的爬虫百度网盘这件事,是我不想看到的,这类安全问题的一个共同特点用户自身确实存在问题。 本文作者:夏之冰雪,i春秋签约作家 《我在百度网盘上看到上万条车主个人信息,企业、政府高官信息、各种数据库和无穷无尽的盗版》,一时间,这篇文章就火了,火爆程度另百度猝不及防。 其实呢,这事真不能全怪百度,毕竟用户分享出去了。之所以引起这么...

    AlphaWatch 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<