如何使用URLConnection进行导航?

时间:2010-04-29 18:40:50

标签: java urlconnection

我的应用程序需要一些网页抓取功能。我有URL对象下载所有数据。但是我需要抓取很多页面并创建许多URL对象,因此我打开了许多连接。如何优化它,所以我可以有一个连接,只用它导航到其他页面?

干杯

2 个答案:

答案 0 :(得分:0)

据我所知,每个URL必须有不同的URLConnection(这是有意义的,因为底层网络连接也必须改变)。我非常怀疑创建这个对象是你的瓶颈;我怀疑这是网络时间,但没有配置文件,很难确定。

对于适量的页面,我会考虑一个工作队列(比如使用ExecutorService)。对于大量页面,我甚至可能会研究Map/Reduce的Java版本。

编辑:要使Map / Reduce比简单的工作队列更好,您需要有多台计算机可用于进行抓取。

答案 1 :(得分:0)

您可以使用Apache HTTP components,它有很多功能,包括支持concurrent access的连接管理器