首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用phpcrawl与Laravel 5.4

使用phpcrawl与Laravel 5.4
EN

Stack Overflow用户
提问于 2017-03-16 16:10:27
回答 1查看 271关注 0票数 1

我试图在Laravel5.4中使用cuab的PHPCrawl,并通过composer使用这个软件包:https://packagist.org/packages/mmerian/phpcrawl将它包括进来。

我试过运行以下示例代码:

代码语言:javascript
复制
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中使用脚本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 16:21:54

您应该通过composer.json文件中的类映射添加这些文件。您可以在它们的github页面上看到类映射是什么样子的示例,在编写本报告时,这个示例如下所示:

代码语言:javascript
复制
"autoload": {
    "classmap": [
        "libs/Utils/PHPCrawlerUtils.class.php",
        "libs"
    ]
}

您必须在文件的前缀加上vendor/mmerian/phpcrawl或任何指向libs文件夹的路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42839331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档