小弟最近在编写一个爬虫程序。
抓取网页得到数据流流之后,不知道如何对网页流解码得到正确的网页源代码字符串。
我用下面的代码得到的网页源代码字符串,有时正确,有时不正确,得到乱码。
URL url = new URL(baseUrl);
BufferedReader buff = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder sb = new StringBuilder();
String s;
while((s = buff.readLine()) != null){
sb.append(s);
}
return sb.toString();请问如何得到网页的编码方式,以及如何正确解析得到网页源码字符串呢?求大家指点,希望有人提供代码帮助我理解,我将不胜感激。
多谢了
抓取网页得到数据流流之后,不知道如何对网页流解码得到正确的网页源代码字符串。
我用下面的代码得到的网页源代码字符串,有时正确,有时不正确,得到乱码。
URL url = new URL(baseUrl);
BufferedReader buff = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder sb = new StringBuilder();
String s;
while((s = buff.readLine()) != null){
sb.append(s);
}
return sb.toString();请问如何得到网页的编码方式,以及如何正确解析得到网页源码字符串呢?求大家指点,希望有人提供代码帮助我理解,我将不胜感激。
多谢了
重新编码一下、
我试过可以的 、
可以用这句话试试看.
URL url = new URL("http://www.sohu.com/");
BufferedReader buff = new BufferedReader(new InputStreamReader(url.openStream(),"gb2312")); //这里面的编码方式可事先到相关网站查询,然后设置
PrintWriter out = new PrintWriter(file);
String s;
while((s = buff.readLine()) != null){
out.println(s);
}
大家有兴趣可以调试,最后得到的file文件里面的全部是乱码。我想知道这是为什么。如果要这段代码去抓取google网站,google网页的源代码英文字母正确,但是中文字符却是乱码。我想知道这是为什么
求大家指点
new OutputStreamWriter(new FileOutputStream("***.txt",true),"UTF-8");
new OutputStreamWriter(new FileOutputStream("***.txt",true),"UTF-8");