【发布时间】:2011-05-24 21:28:36
【问题描述】:
我目前正在开发一个程序,该程序通过 sourceforge.com 抓取并从用 java 编写的开源项目的存储库中检索 tarball 链接。
我最初在主页中触发了一个空搜索命令,它列出了 sourceforge.net 中的项目,左侧有过滤器。然后我按“java”编程语言进行过滤,然后浏览每个类别(总共 10 个项目类别)并检索每个类别中前 25 个项目的链接。因此,现在我有一个包含 250 个项目名称及其网址的 Hashmap。 进一步,我进入这些链接中的每一个,并在其每个页面中获取“浏览代码”链接。此页面有“下载 TARball”的链接。
当我尝试连接到不同的页面并从主页更深入时,我在运行时收到以下错误(该错误在执行期间随机发生)
线程“main”java.net.SocketTimeoutException 中的异常:读取超时 在 java.net.SocketInputStream.socketRead0(Native Method)
我尝试在每个“Jsoup.connect”请求之间留出 3 分钟的等待时间。但错误仍然存在。 我不确定为什么会发生这种情况以及如何解决这个问题。欢迎任何建议和想法。
下面提供了一个示例链接流: 1. 主页 2. 空搜索被解雇 3. 按 Java 和 Mobile 类别过滤 4.过滤后的第一个项目 5. 浏览项目中的链接:http://wurfl.cvs.sourceforge.net/wurfl/ 6. 最终压缩包链接:http://wurfl.cvs.sourceforge.net/viewvc/wurfl/?view=tar
【问题讨论】:
标签: java sockets download web-scraping sourceforge