php spider在中间休息(Domdocument,xpath,curl) - 需要帮助

时间:2013-02-01 01:20:46

标签: php curl xpath domdocument web-crawler

我是一名初学程序员,正在设计一个抓取页面的蜘蛛。逻辑是这样的:

  • 使用curl获取$ url
  • 创建dom文档
  • 使用xpath解析href标记
  • 在$ totalurls中存储href属性(尚未存在)
  • 从$ totalurls
  • 更新$ url

问题是,在第10个抓取页面之后,蜘蛛说它没有在页面上找到任何链接,下一个没有人,依此类推。

但是,如果我从上一个示例中的第10页开始,它会发现所有链接没有问题,但在10个网址被抓取后会再次中断。

知道可能导致这种情况的原因吗?我的猜测是domdocument,也许,我不是100%熟悉它。或者可以存储太多数据导致麻烦?这可能是一些非常初学的问题因为我是全新的 - 而且一无所知。请给我一些建议在哪里寻找问题

1 个答案:

答案 0 :(得分:0)

我的猜测是你的脚本在30或60秒之后超时(php的默认值)可以用set_time_limit($num_of_seconds);覆盖,或者你可以在php.ini中更改max_execution_time或者如果你有托管您可以通过php设置(或其他任何名称)更改一些值。

此外,您可能希望将其添加到页面顶部:

error_reporting(E_ALL);
ini_set("display_errors", 1);

并检查您的错误日志,看看是否有与您的蜘蛛有关的消息。