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