crawler4j抓取頁面使用jsoup解析html時的解決方法
crawler4j對已有編碼的頁面抓取效果不錯,用jsoup解析,很多會jquery的程序員都可以操作。但是,crawler4j對response沒有指定編碼的頁面,解析成亂碼,很讓人煩惱。在找了苦悶之中,無意間發(fā)現(xiàn)一年代已久的博文,可以解決問題,修改 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();
}
相關(guān)文章
java使用Logback配置輸出日志內(nèi)容到文件示例代碼
這篇文章主要介紹了java?Logback輸出日志內(nèi)容到文件,要將logger.info的信息輸出到文件,您可以使用Logback配置,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09詳解mybatis-plus實體類中字段和數(shù)據(jù)庫中字段名不對應(yīng)解決辦法
這篇文章主要介紹了詳解mybatis-plus實體類中字段和數(shù)據(jù)庫中字段名不對應(yīng)解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Spring Boot + Vue 前后端分離開發(fā)之前端網(wǎng)絡(luò)請求封裝與配置
這篇文章主要介紹了Spring Boot + Vue 前后端分離開發(fā)之前端網(wǎng)絡(luò)請求封裝與配置方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05