1

我爬取了一批 15K 的 url 并将它们保存为 html 文件。在第一次迭代中,我得到了 10980 的输出。在第二次迭代中,它减少到 9700。在第三次迭代中,它是 11120。

所以我检查了写入文本文件中的结果(在 catch 块中写入的提示/异常)。大多数网址失败是由于

java.net.UnknownHostException

一些 url 在第一次和第三次迭代中失败,但在第二次迭代中成功保存。

我在论坛上搜索了大多数情况下给出的原因就像

抛出表示无法确定主机的 IP 地址。

我的问题是它是如何在我的第二次迭代中成功抓取的?

请提供一些解决方案来解决 UnknownHostException 或查找主机的 IP 地址。

注意:上面的迭代是通过使用 Executor Service 的 Multithreads(300) 完成的。

我试过单线程。现在在各种迭代中输出计数没有差异。

我还使用了评论中建议的选项-Djava.net.preferIPv4Stack=true

但我仍然得到UnknownHostException

4

0 回答 0