我正在开始一个涉及抓取网站的新项目,因此我计划使用 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 类中,这可能吗?
抱歉,如果不清楚,我不知道该怎么做!