jsoup使用

jsoup是一个开源的html解析工具:

 

jsoup的对象模型由多个elements 和tetxNode组成。

 

其继承结构如下:

                       Node

                            |

           -----------------------

           |                             |

     Element               TextNode

           |

   Document

 

其中一个Element包含一个子节点集合,并拥有一个父element

 

分以下几个部分描述一下这个工具的用法:

1.获取远程HTML document

2.解析document

 

1.获取HTML document

 

基本方法:

 

//获取参数URL对应的HTML文档,第二个参数为超时时间。
public static Document parse(URL url, int timeoutMillis)

 

Jsoup还提供了一个方法链来解决特殊请求,具体如下:

Document doc = Jsoup.connect("http://example.com")
  .data("query", "Java")
  .userAgent("Mozilla")
  .cookie("auth", "token")
  .timeout(3000)
  .post();

 

 

通过上述方法获取到HTML Document.,然后我们就可以通过Document中适当的方法或者它父类Elment和Node的方法来获取HTML文档中的相关数据

 

2.解析获取到的document

 

将HTML解析成Docuemnt之后,就可以使用类似DOM的方法来操作。

 

先给一个简单的例子:

//获取百度新歌100中的数据
private static void analyesBaidu() {
		
		String urlStr = "http://music.baidu.com/";
		
		try {
			URL urlBase = new URL(urlStr);
			Document doc = Jsoup.parse(urlBase, 10000);
			String topMsic = doc.select("div[monkey=new-top]").text();
			System.out.println(topMsic);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

返回的结果如下:

写道
更多>> 新歌TOP100 1 到不了 李代沫 2 经过 刘若英 3 等你爱我 金池 4 平安夜 平安 5 How You .. Avril La.. 6 伤痕 金池 7 遗憾 李代沫 8 愤怒的老鸟 多亮 9 Dancing Q.. 少女时代 10 Super Girl .. 萧亚轩 播放榜单

 

解释一下上述代码。

通过Jsoup拿到HTML对应的Document对象,使用jsoup的select方法。获取对应的内容。

其中

//查找docuemtn中div标签下有monkey=“new-top”属性的元素
String topMsic = doc.select("div[monkey=new-top]").text();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值