日期:2014-05-20  浏览次数:20842 次

求大神帮忙研究下这个网站怎么采集?
http://www.19lou.com/forum-26-thread-11501349353908253-1-1.html

用正常的方法采不到,采到的是一堆js,请问能否用代码实现采集这个网站的内容?谢谢

普通的方法如下(该方法采集不了)


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class Test {

protected static String charset = "UTF-8"; // 字符编码

public static String getNewsContent(String newsUrl) {
URL url = null;
BufferedReader is = null;
try {
url = new URL(newsUrl);
URLConnection urlc = null;
urlc = url.openConnection();
urlc = url.openConnection();
urlc.getInputStream();
is = new BufferedReader(new InputStreamReader(
urlc.getInputStream(), charset));
// InputStream is = urlc.getInputStream();
StringBuffer sb = new StringBuffer();
// String s = null;
// while((s=is.readLine())!=null){
// sb.append(s+"\r\n");
// }
for (char buffer[] = new char[65535]; is.read(buffer) != -1; sb
.append(new String(buffer)))
;
is.close();
return sb.toString() != null ? sb.toString().trim() : "";
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
return "";
}

public static void main(String[] args) {
String content = getNewsContent("http://www.19lou.com/forum-26-thread-11501349353908253-1-1.html");
System.out.println(content);
}

}
采集

------解决方案--------------------
去设置下http-head里的浏览器类型试试
------解决方案--------------------
引用:
请教如何带上cookie?


对于你上面的程序,添加一行就行了:
urlc = url.openConnection();
urlc.addRequestProperty("cookie", "_Z3nY0d4C_=37XgPK9h");