Android使用jsoup解析网页

作者:胡科平


问题:

       由于android课程大作业要实现一个空闲教室查询相关的功能,而教室使用信息可以从教务处的网站上通过解析html来获取。之前研究了一下htmlparser这个开源库,但是发现和android提供的库有冲突,但其在纯java应用程序下是可行的。

htmlparser下载地址:http://htmlparser.sourceforge.net/


解决:

       用了另外一个开源库jsoup解决该问题。

       jsoup下载地址:http://jsoup.org/

       jsoup 是一款 Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。该版本包含一个支持 HTML5 的解析器分支,可确保跟现在的浏览器一样解析 HTML 的方法,同时降低了解析的时间和内存的占用。

       可以使用类似DOM的方法来解析一个网页,比如说,我已经下载了一个网页到本地,保存为input.html,那么通过下面的代码,我们可以得到id为content的DOM中,所有的超链接。字符串linkHref得到的是该链接的链接地址,字符串linkText得到的是该链接的文本描述。


File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}

还有很多其他的方法用于在各种不同情况下解析HTML。这里就不一一列举了,有兴许的同学可以自己去研究一下。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值