我试图在Laravel5.4中使用cuab的PHPCrawl,并通过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\Controller\PHPCrawler’
如何引用正确的命名空间,以便我可以在Laravel中使用脚本?
发布于 2017-03-16 16:21:54
您应该通过composer.json文件中的类映射添加这些文件。您可以在它们的github页面上看到类映射是什么样子的示例,在编写本报告时,这个示例如下所示:
"autoload": {
"classmap": [
"libs/Utils/PHPCrawlerUtils.class.php",
"libs"
]
}您必须在文件的前缀加上vendor/mmerian/phpcrawl或任何指向libs文件夹的路径。
https://stackoverflow.com/questions/42839331
复制相似问题