nzo / grabber-bundle
NzoGrabberBundle 是一个用于从任何网站爬取和抓取各种类型链接和标签(img、js、css)的 Symfony Bundle
v3.0.0
2019-04-23 09:27 UTC
Requires
- php: ^5.5.9|>=7.0.8
- fabpot/goutte: ^3.0|^4.0
- symfony/framework-bundle: ^3.0|^4.0
Requires (Dev)
- phpunit/phpunit: ^4.8|^5.0
README
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 获取所有 Css
、Img
和 Js
文件
public function indexAction($url) { $extrat = $this->get('nzo_grabber.grabber')->grabExtrat($url); //.... }
许可
此 bundle 采用 MIT 许可。请参阅 bundle 中的完整许可。