开源工具:jsoup

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

 

转载于:https://my.oschina.net/u/1385143/blog/175069

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值