第一次接触网络爬虫,希望和大家一起学习进步
java语言是为网络而生的编程语言,对网络资源的访问和本地文件一样方便。我们可以获取流,然后从流中读取数据。本来可以使用java.net.UR来爬去网页,但是网传这样很麻烦,需要处理的情况很复杂。工作中常常用Apache的HTTP客户端开源项目HTTPClient。我们引入包就可以,HttpClient.jar来模拟浏览器获取网页的内容。
先模拟爬去网页源码:
首先引入包:
import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.methods.GetMethod;
可能这些包还是不够的,我们还需要引入一些jar包(不引入这些包会出现各种错误):
想想我们一般查看网页源码是怎么样个逻辑步骤:
1:先打开浏览器
2:输入网址,也就是URL
3:回车
然后我们的代码逻辑是这样:
//创建一个客户端 类似于一个浏览器 private static HttpClient httpClient=new HttpClient(); public static void main(String[] args) throws HttpException, IOException { //创建一个get()方法 类似于在浏览器输入地址 GetMethod getMethod=new GetMethod("http://www.baidu.com"); //回车 httpClient.executeMethod(getMethod); //查看命中情况 System.out.println("response="+getMethod.getResponseBodyAsString()); //释放链接 getMethod.releaseConnection();
}
爬去到的源码很乱。。。