• 注册
  • php爬虫框架 关注:2 内容:8

    Beanbun例子

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 例子一

      爬取糗事百科热门列表页,采用守护进程模式。在开始爬取前,我们需要一个队列,在这里使用框架中带有的内存队列。

      首先建立一个队列文件 queue.php,写入下列内容

      <?php

      require_once(__DIR__ . '/vendor/autoload.php');

      // 启动队列

      \Beanbun\Queue\MemoryQueue::server();

      建立爬虫文件 start.php,写入下列内容

      <?php

      use Beanbun\Beanbun;

      use Beanbun\Lib\Helper;

      require_once(__DIR__ . '/vendor/autoload.php');

      $beanbun = new Beanbun;

      $beanbun->name = 'qiubai';

      $beanbun->count = 5;

      $beanbun->seed = 'http://www.qiushibaike.com/';

      $beanbun->max = 30;

      $beanbun->logFile = __DIR__ . '/qiubai_access.log';

      $beanbun->urlFilter = [

          '/http:\/\/www.qiushibaike.com\/8hr\/page\/(\d*)\?s=(\d*)/'

      ];

      // 设置队列

      $beanbun->setQueue('memory', [

          'host' => '127.0.0.1',

           'port' => '2207'

       ]);

      $beanbun->afterDownloadPage = function($beanbun) {

          file_put_contents(__DIR__ . '/' . md5($beanbun->url), $beanbun->page);

      };

      $beanbun->start();

      接下来在命令行中执行

      $ php queue.php start

      $ php start.php start

      先启动队列进程,再启动爬虫。

      打赏了10钻石。
      回复
      你需要登录,才能进行发帖操作
    • 单栏布局 帖子间隔 侧栏位置: