org.htmlparser.util.EncodingChangeException: character mismatch問題解決
場景:
項目中利用htmlparser抽取網頁中的超鏈接,代碼如下:
項目中利用htmlparser抽取網頁中的超鏈接,代碼如下:
URL url = new URL(pageUrl);
URLConnection conn = url.openConnection();
parser = new Parser(conn);
list = parser.parse(new TagNameFilter("a"));
傳參數pageUrl="http://tv.sohu.com/movie/"運行時,報錯:URLConnection conn = url.openConnection();
parser = new Parser(conn);
list = parser.parse(new TagNameFilter("a"));
org.htmlparser.util.EncodingChangeException: character mismatch。
解決辦法:
修改htmlparser.jar中的org.htmlparser.tags.MetaTag.java,修改如下:
解決辦法:
修改htmlparser.jar中的org.htmlparser.tags.MetaTag.java,修改如下:
public void doSemanticAction() throws ParserException {
String httpEquiv;
String charset;
httpEquiv = getHttpEquiv();
if ("Content-Type".equalsIgnoreCase(httpEquiv)) {
if (Page.DEFAULT_CHARSET == getPage().getEncoding()) {
charset = getPage().getCharset(getAttribute("CONTENT"));
getPage().setEncoding(charset);
}
}
}
重新運行,問題解決。String httpEquiv;
String charset;
httpEquiv = getHttpEquiv();
if ("Content-Type".equalsIgnoreCase(httpEquiv)) {
if (Page.DEFAULT_CHARSET == getPage().getEncoding()) {
charset = getPage().getCharset(getAttribute("CONTENT"));
getPage().setEncoding(charset);
}
}
}
posted on 2012-08-22 18:04 小一敗涂地 閱讀(1396) 評論(0) 編輯 收藏 所屬分類: 開源工具、插件相關 、lucene、solr等搜索技術相關