Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
web抓取时发生java.net.SocketTimeoutException错误_Java_Sockets_Download_Web Scraping_Sourceforge - Fatal编程技术网

web抓取时发生java.net.SocketTimeoutException错误

web抓取时发生java.net.SocketTimeoutException错误,java,sockets,download,web-scraping,sourceforge,Java,Sockets,Download,Web Scraping,Sourceforge,我目前正在开发一个程序,它可以浏览sourceforge.com,并从java编写的开源项目库中检索tarball的链接 我最初在主页中启动了一个空的搜索命令,它列出了sourceforge.net中的项目,左侧有过滤器。然后,我用java编程语言进行筛选,然后浏览每个类别总共10个类别的项目,并检索每个类别中前25个项目的链接。因此,现在我有了一个Hashmap,它有250个项目名称及其web地址。 更进一步,我进入每个链接,并在每个页面中获得浏览代码链接。此页面有下载TARball的链接 当

我目前正在开发一个程序,它可以浏览sourceforge.com,并从java编写的开源项目库中检索tarball的链接

我最初在主页中启动了一个空的搜索命令,它列出了sourceforge.net中的项目,左侧有过滤器。然后,我用java编程语言进行筛选,然后浏览每个类别总共10个类别的项目,并检索每个类别中前25个项目的链接。因此,现在我有了一个Hashmap,它有250个项目名称及其web地址。 更进一步,我进入每个链接,并在每个页面中获得浏览代码链接。此页面有下载TARball的链接

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

主线程java.net.SocketTimeoutException中出现异常:读取超时 在java.net.SocketInputStream.socketRead0Native方法中

我试图在每个Jsoup.connect请求之间留出3分钟的等待时间。但错误依然存在。 我不知道为什么会发生这种情况以及如何解决。欢迎提出任何建议和想法

链接的示例流如下所示: 1.主页 2.已启动空搜索 3.按Java和移动类别筛选 4.过滤后的第一个项目 5.浏览项目中的链接: 6.最终柏油球连杆:

我不知道为什么会发生这种情况以及如何解决。欢迎提出任何建议和想法

两种可能性:

服务器暂时超载、损坏等等

服务器正在实施某种技术手段,试图阻止您进行web刮取


您是否已检查您尝试执行的操作是否符合要求?

@Stephen。。。非常感谢你的及时回复。。我浏览了sourceforge.net中给出的术语,但它并没有具体说明任何反对web刮取的内容。由于这个错误,我更多地研究了与stackoverflow上的web抓取相关的问题,并了解到连接和网络问题可能导致此类问题。为了避免阻塞其他URL的抓取,您可以将工作并行化为单独的线程。我对java中的线程不太了解。有没有办法解决这个问题?值得一试?并行化可能会增加StackOverflow服务器上的负载,使问题变得更糟。我还要提请您注意禁止使用的d和e项。听起来你可能违反了d。另一个建议-通过他们正常的支持渠道向SourceForge寻求建议。@Stephen。。。嗯。。并联增加了负载。。还有你。。我已经邮寄了sourceforge ppl,想知道我想做的事是否被允许。再次发送。。