网络爬虫

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进行处理

方法:

技术分享图片

技术分享图片

 

以上是关于网络爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫|网络爬虫简介

Python爬虫|网络爬虫简介

网络爬虫简介

网络爬虫开发实战2和一的区别

网络爬虫可以收集线下数据吗?

Java网络爬虫怎么实现?