web-scraping时出现java.net.SocketTimeoutException错误

时间:2011-05-24 21:28:37

标签: java sockets download web-scraping sourceforge

我目前正在研究一个通过sourceforge.com擦除的程序,并从用java编写的开源项目的存储库中检索tarball的链接。

我最初在主页中触发一个空的搜索命令,这列出了sourceforge.net中的项目,左侧​​是过滤器。然后我按“java”编程语言进行过滤,然后浏览每个类别(共10个项目类别)并检索每个类别中前25个项目的链接。因此,现在我有一个具有250个项目名称及其网址的Hashmap。 进一步,我进入每个链接,并在其每个页面中获得“浏览代码”链接。此页面包含“下载TARball”的链接。

当我尝试连接到不同的页面并从主页更深处移动时,我在运行时遇到以下错误(错误在执行期间随机发生)

线程“main”中的异常java.net.SocketTimeoutException:读取超时     在java.net.SocketInputStream.socketRead0(本机方法)

我试图在每个“Jsoup.connect”请求之间等待3分钟。但仍然存在错误。 我不确定为什么会发生这种情况以及如何解决这个问题。任何建议,想法都是最受欢迎的。

以下提供了一系列链接示例: 1.主页 2.空搜索被解雇 3.按Java和Mobile类别过滤 4.过滤后的第一个项目 5.浏览项目中的链接:http://wurfl.cvs.sourceforge.net/wurfl/ 6.最终的Tarball链接:http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar

1 个答案:

答案 0 :(得分:0)

  

我不确定为什么会这样,以及如何解决这个问题。任何建议,想法都是最受欢迎的。

两种可能性:

  • 服务器暂时过载,损坏等等。

  • 服务器正在实施某种技术手段,试图阻止你进行网络抓取。

您是否检查过您要执行的操作符合SourceForge Terms of Service