您的位置:首页 > 编程语言 > Java开发

[Java] 解决用Jsoup解析网页过程中由&nbsp造成的乱码问题

2015-04-23 10:41 453 查看
昨天晚上在写爬虫的时候,发现Jsoup会在输出utf-8网页的时候把
 
输出成乱码“?”找了找,发现是编码的问题。那么解决思路就是把这个字符替换掉。但是如何替换,我又想了好多办法,甚至一度想过用正则表达式去解决。还来通过自己思考和查资料,得到了两种方法。

方法1:

把Element转化为字符串,用String.replace替换掉,再通过Jsoup.parse()把处理过的字符串转成Document,再通过Document.text() 得到处理过的内容。

String temp=tp.toString().replace(" ", "") ;
Document d=Jsoup.parse(temp) ;
System.out.println(d.text()) ;


tp是一个Element类的对象

方法2:

把Element内的文字通过Element.toString()输出,再用String.replace替换。我比较推荐这种方法。

String temp=tp.text().replace(Jsoup.parse(" ").text(), "") ;
System.out.println(temp) ;


由于我不知道那个字符转义以后不知道变成什么样子了,事实上我也不需要知道,直接用
Jsoup.parse(" ").text()
来获得其转义后的东西,将其替换成“”。有些以其人之道还治其人之身的感觉 <( ̄︶ ̄)>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐