nzo / grabber-bundle

NzoGrabberBundle 是一个用于从任何网站爬取和抓取各种类型链接和标签(img、js、css)的 Symfony Bundle

安装: 55

依赖: 0

建议者: 0

安全性: 0

星标: 8

关注者: 2

分支: 2

类型:symfony-bundle

v3.0.0 2019-04-23 09:27 UTC

This package is auto-updated.

Last update: 2024-08-23 20:53:34 UTC


README

Build Status Latest Stable Version

NzoGrabberBundle 是一个用于 爬取抓取 任何网站上的所有类型 链接URL标签(img、js、css)的 Symfony Bundle。

功能包括

  • 兼容 Symfony 版本 3 & 4
  • 支持 HTTP/HTTPS 的 URL 抓取/爬虫
  • 支持 HREF / SRC / IMG 类型的 URL 抓取/爬虫
  • 可以排除任何类型的文件(通过扩展名)
  • 防止抓取指定的 URL
  • 兼容 php 版本 5 & 7

安装

通过 Composer

安装 bundle

$ composer require nzo/grabber-bundle

在 app/AppKernel.php 中注册 bundle(Symfony V3)

// app/AppKernel.php

public function registerBundles()
{
    return array(
        // ...
        new Nzo\GrabberBundle\NzoGrabberBundle(),
    );
}

使用方法

在控制器中使用 Grabber 服务并指定所需选项

获取所有 URL

     public function indexAction($url)
    {
        $tableOfUrls = $this->get('nzo_grabber.grabber')->grabUrls($url);

        //....
    }

或者 .. 获取所有非递归的 URL

获取所有非递归的 URL

     public function indexAction($url)
    {
        $tableOfUrls = $this->get('nzo_grabber.grabber')->grabUrlsNoRecursive($url);

        //....
    }

或者 .. 获取不在 exclude 数组 中的所有 URL

     public function indexAction($url)
    {
        $notScannedUrlsTab = ['http://www.exemple.com/about']
        $tableOfUrls = $this->get('nzo_grabber.grabber')->grabUrls($url, $notScannedUrlsTab);

        //....
    }

或者 .. 可以排除包含指定 文本 的 URL,也可以通过 文件扩展名 选择

     public function indexAction($url)
    {
        $exclude = 'someText_to_exclude';
        $tableOfUrls = $this->get('nzo_grabber.grabber')->grabUrls($url, null, $exclude, array('png', 'pdf'));

        //....
    }

或者 .. 通过 文件扩展名 获取所有 URL

     public function indexAction($url)
    {
        $tableOfUrls = $this->get('nzo_grabber.grabber')->grabUrls($url, null, null, array('png', 'pdf'));

        //....
    }

或者 .. 从指定 URL 获取所有 Img 文件

     public function indexAction($url)
    {
        $img = $this->get('nzo_grabber.grabber')->grabImg($url);

        //....
    }

或者 .. 从指定 URL 获取所有 Js 文件

     public function indexAction($url)
    {
        $js = $this->get('nzo_grabber.grabber')->grabJs($url);

        //....
    }

或者 .. 从指定 URL 获取所有 Css 文件

     public function indexAction($url)
    {
        $css = $this->get('nzo_grabber.grabber')->grabCss($url);

        //....
    }

或者 .. 从指定 URL 获取所有 CssImgJs 文件

     public function indexAction($url)
    {
        $extrat = $this->get('nzo_grabber.grabber')->grabExtrat($url);

        //....
    }

许可

此 bundle 采用 MIT 许可。请参阅 bundle 中的完整许可。

请参阅 Resources/doc/LICENSE