Использование phpcrawl с Laravel 5.4

Я пытаюсь использовать PHPCrawl cuab в Laravel 5.4 и включил его через composer, используя этот пакет:
https://packagist.org/packages/mmerian/phpcrawl

Я попытался запустить этот пример кода:

class MyCrawler extends PHPCrawler
{
function handleDocumentInfo($DocInfo)
{
if (PHP_SAPI == "cli"){
$lb = "\n";
} else {
$lb = "<br />";
}
echo "Page requested: ".$DocInfo->url." (".$DocInfo->http_status_code.")".$lb;
echo "Referer-page: ".$DocInfo->referer_url.$lb;

if ($DocInfo->received == true) {
echo "Content received: ".$DocInfo->bytes_received." bytes".$lb;
}
else {
echo "Content not received".$lb;
}

echo $lb;
flush();
}
}

$crawler = new MyCrawler();
$crawler->setURL("www.php.net");
$crawler->addContentTypeReceiveRule("#text/html#");
$crawler->addURLFilterRule("#\.(jpg|jpeg|gif|png)$# i");
$crawler->enableCookieHandling(true);
$crawler->setTrafficLimit(1000 * 1024);
$crawler->go();
$report = $crawler->getProcessReport();

if (PHP_SAPI == "cli") {
$lb = "\n";
} else {
$lb = "<br />";
}

echo "Summary:".$lb;
echo "Links followed: ".$report->links_followed.$lb;
echo "Documents received: ".$report->files_received.$lb;
echo "Bytes received: ".$report->bytes_received." bytes".$lb;
echo "Process runtime: ".$report->process_runtime." sec".$lb;

Но он выдает несколько ошибок, как это:

Класс ‘App \ Http \ Controllers \ PHPCrawler’ не найден

Как бы вы сослались на правильное пространство имен, чтобы я мог использовать скрипт в Laravel?

1

Решение

Вы должны добавить файлы через карту классов в ваш файл composer.json. Вы можете увидеть пример того, как карта классов выглядит на их страница github, который на момент написания выглядит так:

"autoload": {
"classmap": [
"libs/Utils/PHPCrawlerUtils.class.php",
"libs"]
}

Вам придется префикс файлов с vendor/mmerian/phpcrawl или какой-либо путь к папке libs.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]