日期:2014-05-17  浏览次数:20710 次

抓取网页
我想抓取一个网页的html源码,但网页html源码中的一些内容是通过javascript生成的,如果直接使用抓取的话,得到的html源码是不包含通过javascript生成的内容的。
而且由于客户端javascript通信的形式有些复杂,也不能直接通过查看javascript源码,而知道javascript生成的具体内容是什么。
大家有什么办法,来抓取包含javascript生成部分的全部html源码。
我试过HtmlUnit,但老是有异常,貌似在处理javascript方面也不强。
如那位有思路,帮个忙,谢谢.

------解决方案--------------------
直接上代码
import java.io.*;
import java.io.File;
import java.io.FileWriter;
import java.util.TimerTask;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;

public class HTML extends TimerTask{

@Override
public void run() {
try{

HttpClient client = new HttpClient();
//读取要生成静态页面的页面
GetMethod get = new GetMethod("http://www.baidu.com/");
client.executeMethod(get);
String s = get.getResponseBodyAsString();

//生成的静态页面存放的位置及名称
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("d:/wwwjob.html")));
bw.write(s);
bw.close();
get.releaseConnection();
client=null;
}catch (Exception ex ){
ex.printStackTrace();
System.out.print(ex);
}
}

}