0

我正在开始一个涉及抓取网站的新项目,因此我计划使用 PHPCrawl http://cuab.de/quickstart.html,因为它看起来是最好的基于 PHP 的解决方案(除非有人有任何其他建议)但已经运行遇到一个我无法完全理解的问题。

所以我导入 PHPCrawl 类

App::import('Vendor', 'PHPCrawl', array('file' => 'PHPCrawl/libs/PHPCrawler.class.php'));

然后在它下面我扩展 PHPCrawl 类来处理数据,就像这样

class MyCrawler extends PHPCrawler{
    function handleDocumentInfo($DocInfo) {
        //handle data here
    }
}

但是当我需要在该方法中执行 create() 和 save() 等 CakePHP 方法时,我的问题就出现了。我尝试在类中创建 CakePHP 模型的新实例,但这给了我一个警告:

Maximum function nesting level of '100' reached, aborting! 

所以我假设这是创建类实例的无限循环。我想我想要做的是覆盖 handleDocumentInfo() 函数,但在我的 CakePHP 类中,这可能吗?

抱歉,如果不清楚,我不知道该怎么做!

4

1 回答 1

0

对于任何有类似问题的人。我通过创建一个组件、导入类并覆盖其中的方法来解决这个问题。不得不稍微弄乱原来的类并添加一个新的全局变量,但一切似乎都在工作

于 2013-10-20T02:49:46.867 回答