【问题标题】:Crawler4j - Many URLs are discarded / not processed(missing in output)Crawler4j - 许多 URL 被丢弃/未处理(输出中丢失)
【发布时间】:2014-02-16 11:51:34
【问题描述】:

我正在运行 crawler4j 来查找一百万个 URL 的状态(http 响应)代码。 我没有设置任何过滤器来过滤掉要处理的 URL。
我得到了 90% 的 URL 的正确响应,但输出中缺少 10%。
它们甚至没有出现在 Webcrawler 扩展类的 handlePageStatusCode() 方法中。 可能由于各种问题,它们没有被处理。
是否可以找到那些丢失的 URL 进行重新处理? 我们能否改进抓取过程以不遗漏任何网址?

【问题讨论】:

  • 如果你觉得我的回答合适你能接受吗?

标签: java web-crawler crawler4j


【解决方案1】:

是的,我们有!

请使用最新版本的 Crawler4j,因为我添加了许多方法来捕获不同类型的异常。

现在,当您扩展 WebCrawler 时,只需覆盖您可以覆盖的许多方法: https://github.com/yasserg/crawler4j/blob/master/src/main/java/edu/uci/ics/crawler4j/crawler/WebCrawler.java

例如如下: onPageBiggerThanMaxSize onUnexpectedStatusCode onContentFetchError onUnhandledException 等等

请注意,这些方法已被调用,但由于某种原因页面未处理,因此再次将其作为种子添加不会改变问题...

无论如何,最新版本的 crawler4j 可以更好地处理许多页面,因此只需升级到 v4.1(当前)或更高版本,您就可以爬取更多页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2021-01-21
    • 2011-09-07
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多