网络爬虫
Posted headsman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络爬虫相关的知识,希望对你有一定的参考价值。
一、概述:
(一)依赖:获取数据
Httpclient:是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 htmlUnit 都使用了 HttpClient。
HttpClient 提供的主要功能是:
(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
(2)支持自动转向
(3)支持 HTTPS 协议
(4)支持代理服务器等
添加依赖:
(二)基本步骤
//1. 创建httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
// 2. 声明httpGet请求对象
HttpGet httpGet = new HttpGet("http://quote.cfi.cn/quote.aspx?contenttype=yjyg&stockid=5");
//3. 使用httpclient发起请求方法execute,获取response响应结果
CloseableHttpResponse response = client.execute(httpGet);
//4. 判断响应的状态码是否是200
if (response.getStatusLine().getStatusCode() == 200) {
// 5. 如果是200,获取响应的数据
String html = EntityUtils.toString(response.getEntity(), "utf-8");
// 6. 处理数据
System.out.println(html);
}
//7. 关闭response、httpclient对象。
二、HTTP 的方法
(一)get方法
GET方法主要用来取得某网页内容的html代码。
1. 获取参数的url内容
(上例)
2. 获取url有参数的网页内容
方法:
3. 防止爬虫的网站访问
有些网站不希望爬虫工具访问,一般是通过获取用户代理信息来进行判断。
用爬虫工具获取这些网站的数据,只需要将用户代理提供给服务器就可以了。
二、处理方法
如果用字符串处理,就有点麻烦。因为首先要进行定位,再分析内容,比较麻烦。
Jsoup工具就是用来处理网页信息,即解析页面。
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。功能是:
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
3. 可操作HTML元素、属性、文本;
jsoup是基于MIT协议发布的,可放心使用于商业项目。
(一)依赖
1. jsoup依赖:org.jsoup
2. 处理工具:org.apachecommons的commons-lang3(StringUtils),和commons-io(FileUtils)
第1是主要的,处理工具可选
(二)使用方法
将网页内容转化为dom对象,用dom进行处理
方法:
以上是关于网络爬虫的主要内容,如果未能解决你的问题,请参考以下文章