开源工具:jsoup
开源工具:jsoup
BazingaYou 发表于4年前
开源工具:jsoup
  • 发表于 4年前
  • 阅读 507
  • 收藏 3
  • 点赞 0
  • 评论 0

华为云·免费上云实践>>>   

jsoup(来自开源中国:http://www.oschina.net/p/jsoup/) 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。

jsoup的主要功能如下:

从一个URL,文件或字符串中解析HTML;
使用DOM或CSS选择器来查找、取出数据;
可操作HTML元素、属性、文本;
jsoup是基于MIT协议发布的,可放心使用于商业项目。

一下代码是一个简单的应用,改变main方法中的调用,显示不同的操作结果:

package com.jason.jsoup.test;
import java.io.File;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class HelloWorld {
	public static void main(String[] args) {
		HelloWorld t = new HelloWorld();
//此处可不同调用,显示不同的结果;
		t.parseUrl();
	}
//解析String;
	public void parseString() {
		String html = "<html><head><title>blog</title></head><body onload='test()'><p>Parsed HTML into a doc.</p></body></html>";
		Document doc = Jsoup.parse(html);
		System.out.println(doc);
		Elements es = doc.body().getAllElements();
		System.out.println(es.attr("onload"));
		System.out.println(es.select("p"));
	}
 //解析网络链接;
	public void parseUrl() {
		try {
			Document doc = Jsoup.connect("http://www.sina.com/").get();
			Elements hrefs = doc.select("a[href]");
			System.out.println(hrefs);
			System.out.println("------------------");
			System.out.println(hrefs.select("[href^=http]"));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
  //解析本地文件;
	public void parseFile() {
		try {
			File input = new File("index.html");
			Document doc = Jsoup.parse(input, "UTF-8");
			// 提取出所有的编号
			Elements codes = doc.body().select("td[title^=IA] > a[href^=javascript:view]");
			System.out.println(codes);
			System.out.println("------------------");
			System.out.println(codes.html());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

参考文章: http://blog.csdn.net/a9529lty/article/details/7008537

在线Javadoc: http://www.ostools.net/apidocs/apidoc?api=jsoup-1.6.3

 

标签: jsoup
共有 人打赏支持
粉丝 9
博文 46
码字总数 16684
×
BazingaYou
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: