weblabormx/scrapping-plus

支持多种驱动器和一种格式的抓取包。

v1.0.10 2024-06-26 18:21 UTC

This package is auto-updated.

Last update: 2024-09-26 18:50:59 UTC


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

您的业务依赖于我们的贡献吗?请联系我们并支持我们。所有承诺都将用于分配人力进行维护和新奇的项目。

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件