Java+Jsoup实现最基本的网页爬虫功能
Jsoup简介
Jsoup是一款Java的HTML解析器,可直接解析某个URL地址,HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于Jquery的操作方法取出和操作数据。
Jsoup的主要功能如下
- 从一个URL,文件或字符串中解析HTML;
- 使用DOM或CSS选择器来查找,取出数据;
- 可操作性HTML元素,属性,文本;
Jsoup是基于MIT协议发布的,可放心适用于商业项目。
最近在写项目的时候正好需要使用爬虫功能,所以就先学习了一下。目标是爬一个学校网站的新闻首页,然后保存在本地数据库,本片文章先介绍第一步,如何使用Java语言爬去静态网页上的信息。
第一步 导入Jsoup jar包
我自己建的项目是Maven项目,直接在pom文件中加入以下依赖就ok了。不是Maven项目需要jar包的可以评论以下我私发给你。
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.9.2</version>
</dependency>
第二步 获取网页,通过Jsoup解析网页内容
Jsoup处理HTML文件,是将用户输入的HTML文档,解析转换成一个Document对象进行处理。Jsoup一般支持一下几种来源内容的转换。全部代码在最下方。
- 解析一个HTML字符串
- 解析一个Body片段
- 根据一个url地址加载Document对象
- 根据一个文件加载Document对象
我们有URL地址,所以采用URL来加载Document对象。
//通过Jsoup的Connect方法获取document类
Document document = Jsoup.connect("http://www.haie.edu.cn/xyxw.htm").get();
System.out.println(document.title());//控制台打印网页标题
我们可以根据URL获取一个Document对象,然后我们可以对这个Document对象进行操作,网页解析。这时候就需要对你想爬取的网站进行分析了,我要爬取的是一个较为规范的校园新闻网页,如下图: