我正在开始一个新的项目,其中涉及抓取网站,所以我计划使用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
}
}但是,当我需要从该方法中执行CakePHP ()和save()等保存方法时,我的问题就出现了。我尝试在类中创建CakePHP模型的新实例,但这给了我一个警告:
Maximum function nesting level of '100' reached, aborting! 所以我假设这是在创建类实例的无限循环。我想我想要做的是覆盖handleDocumentInfo()函数,但是在我的CakePHP类中,这是可能的吗?
如果这一点不清楚,很抱歉,我不太知道如何处理这个问题!
发布于 2013-10-20 10:49:47
对于任何有类似问题的人。我创建了一个组件,导入了类并覆盖了其中的方法,从而解决了这个问题。我不得不稍微修改一下原来的类,并添加了一个新的全局变量,但看起来一切都正常
https://stackoverflow.com/questions/19470826
复制相似问题