JSOUP只解析内容并忽略HTML的其余部分(需要快速解析)

时间:2013-11-26 13:09:02

标签: jsoup

在JSOUP中是否有一种方法可以调用URL但只解析标签之间的内容?即,我想避免加载整个HTML,因为它不需要。

我希望减少从第三方HTML页面解析信息所需的时间。

1 个答案:

答案 0 :(得分:0)

Jsoup始终提取整个页面(除非服务器关闭连接或发生其他一些I / O错误),因此它不会为您执行此操作。但您可以手动获取页面(例如java.net.HttpURLConnection)并在从输入流中读取</head>(或</HEAD>等)后关闭连接。如果你有一个head元素大小的上限,你可以使用HTTP范围请求只获取页面的前N个字节,允许你保持连接打开(避免另一个三次握手来设置下一个连接)。无论哪种方式,使用Jsoup.parse(String html ,String baseUri)解析该HTML片段。

但是,除非页面非常大或者服务器非常接近您,否则您不太可能从此优化&#34;获得更多,因为获取页面所需的大部分时间是在往返服务器的往返延迟(接收到第一个字节的时间),而不是接收其余字节所需的时间。在添加额外的复杂性之前,使用分析器估算节省量。