crawler4j抓取頁面使用jsoup解析html時(shí)的解決方法
更新時(shí)間:2014年04月08日 09:11:07 作者:
crawler4j對(duì)response沒有指定編碼的頁面,解析成亂碼,很讓人煩惱,下面給出解決方法,需要的朋友可以參考下
crawler4j對(duì)已有編碼的頁面抓取效果不錯(cuò),用jsoup解析,很多會(huì)jquery的程序員都可以操作。但是,crawler4j對(duì)response沒有指定編碼的頁面,解析成亂碼,很讓人煩惱。在找了苦悶之中,無意間發(fā)現(xiàn)一年代已久的博文,可以解決問題,修改 Page.load() 中的 contentData 編碼即可,這讓我心中頓時(shí)舒坦了很多,接下來的問題都引刃而解了。
復(fù)制代碼 代碼如下:
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();
}
您可能感興趣的文章:
相關(guān)文章
JAVA動(dòng)態(tài)代理模式(從現(xiàn)實(shí)生活角度理解代碼原理)
本文主要介紹了JAVA動(dòng)態(tài)代理模式(從現(xiàn)實(shí)生活角度理解代碼原理)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
spring Mvc配置xml使ResponseBody返回Json的方法示例
這篇文章主要給大家介紹了關(guān)于spring Mvc配置xml使ResponseBody返回Json的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
mybatis使用@mapkey獲取的結(jié)果的鍵(key)為null問題
這篇文章主要介紹了mybatis使用@mapkey獲取的結(jié)果的鍵(key)為null問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

