第一次接触网络爬虫,希望和大家一起学习进步
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();
}
爬去到的源码很乱。。。