3
在JSOUP中,我们可以调用URL但只解析标签之间的内容吗?即,我想避免加载整个HTML,因为它不需要。JSOUP只解析<HEAD>内容并忽略HTML的其余部分(需要快速解析)
我想减少解析来自第三方HTML页面的信息所需的时间。
在JSOUP中,我们可以调用URL但只解析标签之间的内容吗?即,我想避免加载整个HTML,因为它不需要。JSOUP只解析<HEAD>内容并忽略HTML的其余部分(需要快速解析)
我想减少解析来自第三方HTML页面的信息所需的时间。
Jsoup总是获取整个页面(除非服务器关闭连接或发生其他一些I/O错误),所以它不会为你做这件事。但是您可以手动抓取页面(例如使用java.net.HttpURLConnection
),并在从输入流中读取</head>
(或</HEAD>
等)后关闭连接。如果head元素的大小有一个上限,则可以使用HTTP范围请求来仅提取页面的前N个字节,从而允许您保持连接打开(避免另一个三次握手来设置下一个连接)。无论哪种方式,解析该HTML片段与Jsoup.parse(String html ,String baseUri)。
但是,除非页面非常大或服务器距离您非常近,否则您不太可能从这种“优化”中获得太多收益,因为获取页面所需的大部分时间都是往返延迟(从接收到的第一个字节开始的时间),而不是接收其余字节所需的时间。在添加额外的复杂性之前,使用分析器来估计节省。
jsoup只能解析html片段,但您如何计划在标签之间提取html而不解析整个html? – user1121883