jsoup解析網頁出現轉義符問題

2021-09-07 11:44:41 字數 775 閱讀 4631

我要解析這個網頁  

然後直接在獲得原始碼後,使用select  只捕獲其中一部分  doc.select("textarea[id^=photolist]")

為何出現了這個情況呢、求大牛們幫忙解決啊 @紅薯

很奇怪的是,我用轉義符全部替換之後,直接列印在控制台,顯示正確,然後又用jsoup.parse()這個方法,結果又成了這樣子、大神們,幫幫忙吧@jsoup

html()和outerhtml()的區別只是有沒有包含本層而已,最終底層方法是一樣的,所以這裡確實轉義了。

其實也說得通,因為textarea裡的內容是「文字」,html裡的純文字內容,如果不進行轉義是不安全的。

當然這裡你的需求是"保持原文",「轉義再反轉」其實是無法保持原文的。而且apache的stringescapeutils的轉義範圍比jsoup要小,所以其實反轉是不完整的。

有個比較hack的方法:

document doc = jsoup.connect("").get();

//清空jsoup的轉義表,會使jsoup失去轉義能力

entities.escapemode.base.getmap().clear();

elements elements = doc.select("textarea[id^=photolist]");

for(element e:elements)

jsoup解析網頁出現轉義符問題

給出了hack方案 document doc jsoup.connect 清空jsoup的轉義表,會使jsoup失去轉義能力 entities.escapemode.base.getmap clear elements elements doc.select textarea id photolis...

Jsoup 新增 JS 指令碼內容時出現的轉義問題

使用text string text 方法新增 js 指令碼 import org.jsoup.jsoup import org.jsoup.nodes.document public class system.out.println document.html 可以看到,使用text 方法新增的內...

網頁解析之Jsoup

jsoup功能非常強大,可以解析乙個完整的網頁,當然了,也可以解析乙個網頁的一部分,還可以解析乙個字串,文字。具體使用可以參考使用文件,這裡我主要講解如何解析乙個完整的網頁。1.獲取網頁的資料 httpclient client new defaulthttpclient 例項化乙個httpclie...