Crawler4J为null,同时处理(链接)错误

时间:2016-03-16 22:43:54

标签: web-crawler crawler4j

我有一个小项目,我正在尝试抓取几百万页使用crawler4j 4.1(我没有明确的数字估计)。我正在使用BasicCrawler示例只对它做了一些小的改动。 在我开始抓取Crawler4J日志后不久,显示以下错误不断出现

[Crawler 1] ERROR edu.uci.ics.crawler4j.crawler.WebCrawler - null, while processing: http://www.somelink.com.

我已经尝试将礼让政策时间提高到1000毫秒,甚至尝试使用单个线程运行爬虫,但同样的事情仍在继续发生。

另外,从长远来看,crawler4J似乎随机挂起,我必须停止它并在每次冻结时重新启动它。

任何可能导致这种情况的想法?并且Crawler4J是否将无法访问的链接重新安排回边界?

谢谢

1 个答案:

答案 0 :(得分:0)

虽然我不确定导致此错误的原因,但我试图跟踪所有已抓取的链接以及仍处于边界的链接。我可以确认两件事。

  1. 无法访问的链接将在边界重新安排,抓取工具将尝试再次访问它们。
  2. 冻结仅发生在超过最大下载大小的页面上。作为转身,我增加了下载大小限制,并在要丢弃的列表上添加了一些扩展,不是最佳解决方案,但它为我做了诀窍。