Jsoup 抓取网页,字符是乱码,怎么转换?跪求

时间:2022-10-31 10:30:01
抓取一个网页,上面标注的是 gb2312

我想转换成 utf-8,网页上面的东东直接打印出来的话,是乱码,然后数据库也存不进去

我的代码是,其中,link是jsoup扫描出来的内容



postcontent.m_title = new String(link.text().getBytes("gb2312"), "UTF-8");


还有一点,如果直接用 拷贝 复制 到一个文件夹里面,倒是没问题。

各路神仙,帮帮忙吧

4 个解决方案

#1


1.从url加载一个页面:Document doc = Jsoup.connect("http://example.com/").get();
2.从url加载页面同时加载该页面上的链接页面:
Document doc=Jsoup.connect(url).data("query", "Java")// 请求参数
.userAgent("my jsoup")// 设置 User-Agent
.cookie("auth", "token")// 设置 cookie
.timeout(3000)// 设置连接超时时间
.get();
3.本地一个html文件:
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

#2


自己的帖子,自己顶

#3


该回复于2013-06-24 14:52:52被管理员删除

#4


你用ISO8859_1试试,
link.text().getBytes("ISO8859_1")

#1


1.从url加载一个页面:Document doc = Jsoup.connect("http://example.com/").get();
2.从url加载页面同时加载该页面上的链接页面:
Document doc=Jsoup.connect(url).data("query", "Java")// 请求参数
.userAgent("my jsoup")// 设置 User-Agent
.cookie("auth", "token")// 设置 cookie
.timeout(3000)// 设置连接超时时间
.get();
3.本地一个html文件:
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

#2


自己的帖子,自己顶

#3


该回复于2013-06-24 14:52:52被管理员删除

#4


你用ISO8859_1试试,
link.text().getBytes("ISO8859_1")