博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Beanbun: 简单开放的 PHP 爬虫框架
阅读量:6334 次
发布时间:2019-06-22

本文共 1206 字,大约阅读时间需要 4 分钟。

Beanbun

Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性。

项目地址:
文档地址:

由来

我希望有这样一个爬虫框架:在简单需求的情况下,可以用最少的代码快速建立一个功能完善的爬虫;而且如果你愿意,你可以对爬虫进行你想要的任何修改。它要天然支持分布式,支持多进程(或线程),利用 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 实现爬虫的小例子,欢迎大家持续关注。

转载地址:http://ogioa.baihongyu.com/

你可能感兴趣的文章
美国人的网站推广方式千奇百怪
查看>>
java web学习-1
查看>>
用maven+springMVC创建一个项目
查看>>
linux设备驱动第四篇:以oops信息定位代码行为例谈驱动调试方法
查看>>
redis知识点整理
查看>>
Hello World
查看>>
Spring3全注解配置
查看>>
ThreadLocal真会内存泄露?
查看>>
IntelliJ IDEA
查看>>
低版本mybatis不能用PageHeper插件的时候用这个分页
查看>>
javaweb使用自定义id,快速编码与生成ID
查看>>
[leetcode] Add Two Numbers
查看>>
elasticsearch suggest 的几种使用-completion 的基本 使用
查看>>
04-【MongoDB入门教程】mongo命令行
查看>>
字符串与整数之间的转换
查看>>
断点传输HTTP和URL协议
查看>>
redis 数据类型详解 以及 redis适用场景场合
查看>>
mysql服务器的主从配置
查看>>
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>