网站首页
Java
站长
开源
框架
理论
JS
Linux
DB
服务器
NET
生活
软件
PHP
其他
您的位置:首页 > 开源 > jsoup入门示例程序(网络爬虫)
jsoup入门示例程序(网络爬虫)
2016-6-13    9795    2

jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。


jsoup的主要功能如下:

1. 从一个URL,文件或字符串中解析HTML;

2. 使用DOM或CSS选择器来查找、取出数据;

3. 可操作HTML元素、属性、文本;

jsoup是基于MIT协议发布的,可放心使用于商业项目。


解析XML和解析JSON大家都已经在程序中使用很多了,解析HTML也是一个意思,就是用法不同而已。

这里实用jsoup来解析我自己的博客,抓取博客首页的标题列表并打印,该程序为入门示例程序。


jsoup入门示例程序


如图,如果访问www.javacui.com网站,查看源码,会看到如上内容。

分析一下,ID为left的DIV里面就是文章列表,列表以dl进行划分,其中标题位于dl-dt-h2-a标签内。根据以上分析,编写如下代码。

package com.cui.test;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
 * 获取www.javacui.com网站的文章列表
 * @author java小强
 */
public class JavacuiSpider {
	public static void main(String[] args) {
		try {
			Document doc = null;
			doc = Jsoup.connect("http://www.javacui.com/").get(); // 直接发送HTTP请求获得
			Element content = doc.getElementById("left"); // 根据ID获得文章列表DIV
			Elements elements = content.getElementsByTag("dl"); // DIV中每个dl都是一篇文章
			int i = 1; // 用于显示第几篇文章
			for (Element e : elements) {
				Elements as = e.getElementsByAttribute("target"); // 根据属性获取,一遍文章中有两个a,都有target属性,第一个是标题连接,第二个是点击详细
				Element a = as.get(0); // 获取第一个,既标题连接
				String title = a.text(); // 问的标签内的文本
				System.out.println("第【" + i + "】篇文章标题:" + title);
				i++;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

程序会像爬虫一样读取博客源码,然后解析出文章标题并打印。

请用maven引用jsoup的jar包

<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.7.2</version>
</dependency>

结束。

上一篇: Jsoup加载HTML的三种方式
下一篇: Data truncation: Incorrect string value
评论列表:
Java小强
2021-04-27 08:22 回复

jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.
jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
scrape and parse HTML from a URL, file, or string
find and extract data, using DOM traversal or CSS selectors
manipulate the HTML elements, attributes, and text
clean user-submitted content against a safe white-list, to prevent XSS attacks
output tidy HTML
jsoup is designed to deal with all varieties of HTML found in the wild; from pristine and validating, to invalid tag-soup; jsoup will create a sensible parse tree.

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
jsoup实现tml5规范,并将HTML解析为与现代浏览器相同的DOM
1)从一个URL,文件或字符串中解析HTML
2)使用DOM或CSS选择器来查找、取出数据
3)可操作HTML元素、属性、文本
注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。

java小强
2016-06-13 17:19 回复

运行打印:
第【1】篇文章标题:jsoup入门示例程序
第【2】篇文章标题:Data truncation: Incorrect string value
第【3】篇文章标题:Oracle导入导出 imp/exp 命令
第【4】篇文章标题:中文转拼音,pinyin4j实用示例
第【5】篇文章标题:Linux定时任务Crontab命令
第【6】篇文章标题:Win8配置VPN连接
第【7】篇文章标题:java读写Properties属性文件公用方法
第【8】篇文章标题:疫苗之殇
第【9】篇文章标题:Lucene入门之增删改查
第【10】篇文章标题:Log4J日志配置详解
第【11】篇文章标题:Solr-在Tomcat上安装Solr

发表评论:
您的网名:
个人主页:
编辑内容: