crawler4j抓取頁面應用jsoup解析html時的處理辦法。本站提示廣大學習愛好者:(crawler4j抓取頁面應用jsoup解析html時的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是crawler4j抓取頁面應用jsoup解析html時的處理辦法正文
crawler4j對已有編碼的頁面抓取後果不錯,用jsoup解析,許多會jquery的法式員都可以操作。然則,crawler4j對response沒有指定編碼的頁面,解析成亂碼,很讓人懊惱。在找了苦悶當中,有意間發明一年月已久的博文,可以處理成績,修正 Page.load() 中的 contentData 編碼便可,這讓我心中馬上舒坦了許多,接上去的成績都引刃而解了。
public void load(HttpEntity entity) throws Exception {
contentType = null;
Header type = entity.getContentType();
if (type != null) {
contentType = type.getValue();
}
contentEncoding = null;
Header encoding = entity.getContentEncoding();
if (encoding != null) {
contentEncoding = encoding.getValue();
}
Charset charset = ContentType.getOrDefault(entity).getCharset();
if (charset != null) {
contentCharset = charset.displayName();
}else{
contentCharset = "utf-8";
}
//源碼
//contentData = EntityUtils.toByteArray(entity);
//修正後的代碼
contentData = EntityUtils.toString(entity, Charset.forName("gbk")).getBytes();
}