JAVA抓取网页json数据时打印结果乱码求帮助
最近做个小应用,需要抓取一个网站的数据没错就是B站。。。
然后我得到了b站的一段json数据网址,准备抓取下来做解析,但是呢,问题来了,我用以下方法抓取的时候,打印内容是乱码的,B站原来的数据是Unicode编码,我用了很多方法转换字符集都不能成功,各位大神支支招吧!写了
【以上方法乱码】
看了网上的教程,通过
【以上方法乱码】依然不行。我换成 HttpURLConnection 抓取网页 设置
【以上方法乱码】读取的依然乱码。
那么小弟在此请教各位,我想正确的抓取 http://www.bilibili.com/index/rank/all-7-33.json 这个网页的json数据打印下来不乱码或者显示正确的Unicode的也行只要不乱吗就好。。求支招。。。。如果可以您先试试方法成功了之后再告诉我一下,,。。小弟拜托各位啦。
然后我得到了b站的一段json数据网址,准备抓取下来做解析,但是呢,问题来了,我用以下方法抓取的时候,打印内容是乱码的,B站原来的数据是Unicode编码,我用了很多方法转换字符集都不能成功,各位大神支支招吧!写了
package com.dmj.test;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class Testbilibili {
public static void main(String[] args) {
InputStream iis=null;
try {
URL url=new URL("http://www.bilibili.com/index/rank/all-7-33.json");
url.openConnection();
iis=url.openStream();
byte[] bs=new byte[1024];
int length=0;
StringBuffer sb=new StringBuffer();
while((length=iis.read(bs,0,bs.length))!=-1){
sb.append(new String(bs,0,length));
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
iis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}【以上方法乱码】
看了网上的教程,通过
String value=new String(sb.toString().getBytes("Unicode"),"utf-8");
System.out.println(value);【以上方法乱码】依然不行。我换成 HttpURLConnection 抓取网页 设置
httpurlconnection.setRequestProperty("Content-type", "text/html");
httpurlconnection.setRequestProperty("Accept-Charset", "utf-8");
httpurlconnection.setRequestProperty("contentType", "utf-8");【以上方法乱码】读取的依然乱码。
那么小弟在此请教各位,我想正确的抓取 http://www.bilibili.com/index/rank/all-7-33.json 这个网页的json数据打印下来不乱码或者显示正确的Unicode的也行只要不乱吗就好。。求支招。。。。如果可以您先试试方法成功了之后再告诉我一下,,。。小弟拜托各位啦。
...全文
相关推荐
网页获取JSON中文返回乱码解决方案(java + js)
解决所有双字节字符串json返回乱码问题,返回数据如果已html形式显示,无需做任何处理,如果是在alert中,或在文本框中,用附带的js中的方法处理一下即可。
Java Http请求传json数据乱码问题的解决
主要介绍了Java Http请求传json数据乱码问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Json操作及中文乱码解决方案
本Demo主要针对jquery的$.getJSON操作,返回json, 针对传参出现的中文乱码, json里出现中文乱码。
json 中文乱码解决方案
json 中文乱码解决方案,此方法简单实用,方便快捷
JQuery ajax 返回json时出现中文乱码该如何解决
使用jQuery ajax调用的返回json,中文乱码问题 Js代码如下: $.ajax({ url: '/test/testAction.do?method=test', type: 'POST', dataType: 'json', timeout: 5000, async: false, error: function(){ alert('获取数据失败!'); }, success: function(json){


