这个类是我工作之余写的一个小例子,供大家参考
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class SpiderBaidu {
public void spiderBaiduBody() {
URLConnection conn;
try {
conn = new URL(
"http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=%B0%C2%D4%CB&pn=20&ver=0&cn=baidu01&cl=3")
.openConnection();
// conn.setRequestProperty("Cookie", partA.cookie);
//setConnectTimeout设置链接服务器的最长时间
conn.setConnectTimeout(1000);
//从 URLConnection (或 URL) 对象中获得输入流 InputStream
InputStream a = conn.getInputStream();
int bt = 0;
StringBuffer bs = new StringBuffer();
while ((bt = a.read()) != -1) {
bs.append((char) bt);
}
//将抓取到的内容字符编码转换为GBK的
String recordStr = new String(bs.toString().getBytes("iso8859-1"),
"gbk");
System.out.println(recordStr);
//去除网页文字的无关内容
String splietBiaoTi = "<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/">";
//将其拆分为子字符串,然后以数组形式返回子字符串
String strBiaoTiArr[] = recordStr.split(splietBiaoTi);
for (int i = 0; i < strBiaoTiArr.length - 1; i++) {
System.out
.println("=========================================================================================");
System.out.println(strBiaoTiArr[i]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
SpiderBaidu sbd = new SpiderBaidu();
sbd.spiderBaiduBody();
}
}