weblabormx / scrapping-plus
支持多种驱动器和一种格式的抓取包。
v1.0.10
2024-06-26 18:21 UTC
Requires
- php: >=7.1
- illuminate/support: *
- laravel/dusk: *
- paquettg/php-html-parser: *
- voku/portable-utf8: >=5.0
- voku/simple_html_dom: >=4.1
Requires (Dev)
- phpunit/phpunit: >=6.0
README
Laravel 多驱动器抓取包。
本包可以帮助您抓取任何网站,甚至那些完全由JavaScript完成的网站。这是通过不同的抓取驱动器实现的。
本包中我们使用了以下驱动器
- 解析器 (paquettg/php-html-parser)
- Laravel Dusk (laravel/dusk)
- Voku (voku/simple_html_dom)
安装
您可以通过composer安装此包
composer require weblabormx/scrapping-plus
用法
要使用解析器,您需要执行类似以下操作。
use WeblaborMX\ScrappingPlus\Scrapping; // Using html directly $scrapper = Scrapping::fromHtml('<html><body><h1>Hola</h1><p>Excerpt</p></body></html>'); $h1 = $scrapper->first('h1'); $text = $h1->getText(); // Hola // Get it from an URL $google = Scrapping::scrappe('https://www.google.com.mx'); $html = $google->getHtml(); // Access inputs $inputs = $google->get('input'); $this->assertEquals(5, $inputs->count()); $first = $inputs->first(); $second = $inputs[1]; $class = $google->first('input[name=btnI]'); $title = $class->getAttribute('value');
如果您想使用Laravel Dusk执行,只需要执行类似以下操作
$page = Scrapping::method('dusk')->scrappe($url); $page->object->waitForText($text); // How to use laravel dusk functions directly $page = $page->toParser(); // Convert to the parser driver
每个驱动器都有的函数列表如下
get($selector)
getHtml
getAttribute($name)
getLink
getText
测试
phpunit test
贡献
请参阅 CONTRIBUTING 获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 carlosescobar@weblabor.mx 联系我们,而不是使用问题跟踪器。
电子邮件软件
您可以使用此包,但如果它进入了您的生产环境,我们非常感谢您发送带有生产网站URL的电子邮件,以便将其添加到我们的网站
我们的电子邮件地址是: carlosescobar@weblabor.mx
我们将在我们公司的网站上发布所有收到的电子邮件 http://weblabor.mx。
鸣谢
支持我们
Weblabor 是一家位于墨西哥的网页设计公司。您可以在我们的网站上找到所有开源项目的概述 http://weblabor.mx。
您的业务依赖于我们的贡献吗?请联系我们并支持我们。所有承诺都将用于分配人力进行维护和新奇的项目。
- 在Patreon上支持我们 - https://www.patreon.com/weblabormx
- 通过PayPal捐赠支持我们 - https://paypal.me/weblabormx
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件。