我正在开始一个涉及抓取网站的新项目,因此我正计划使用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类中,这可能吗?
道歉,如果不清楚,我不知道如何去做这个!
答案 0 :(得分:0)
对于任何有类似问题的人。我通过创建一个组件,导入类并覆盖其中的方法来解决这个问题。不得不稍微混淆原来的类,并添加一个新的全局变量,但似乎都在工作