Andriod使用Jsoup解析Html

转载 2012年03月21日 15:02:36

想要做一个看新闻的应用,类似Cnbeta客户端的东西。大致思路如下:根据链接获取新闻列表页的html代码,然后解析,找到所有的新闻标题和新闻链接用listView显示,当点击ListView的Item再加载相应的新闻内容。


其中获取html代码,可以使用如下代码实现:

  1. public String getHtmlString(String urlString) {  
  2.     try {  
  3.         URL url = new URL(urlString);  
  4.         URLConnection ucon = url.openConnection();  
  5.         InputStream instr = ucon.getInputStream();  
  6.         BufferedInputStream bis = new BufferedInputStream(instr);  
  7.         ByteArrayBuffer baf = new ByteArrayBuffer(500);  
  8.         int current = 0;  
  9.         while ((current = bis.read()) != -1) {  
  10.             baf.append((byte) current);  
  11.         }  
  12.         return EncodingUtils.getString(baf.toByteArray(), "gbk");  
  13.     } catch (Exception e) {  
  14.         return "";  
  15.     }  
  16. }  

传入一个网页链接,将返回此链接的html代码(String)。


然后就是解析此html代码了。经过google,发现了java的一个很好用的解析html的库,Jsoup:http://jsoup.org/

很容易使用,方法类似javascript和JQuery。只需先构建一个Jsoup的Document对象,然后就可以像使用js一个解析html了

  1. String htmlString = getHtmlString("http://www.cnbeta.com");  
  2. Document document = Jsoup.parse(htmlString);  
比如要获取cnbeta的html的title,只需:
  1. String title = document.head().getElementsByTag("title").text();  

另外构建Document的时候也可以直接使用URL,像这样:

  1. Document doc = Jsoup.parse(new URL("http://www.cnbeta.com"), 5000);  
其中5000是连接网络的超时时间。


有关Jsoup的下载和更多介绍,见其官网:http://jsoup.org/


jsoup解析HTML用法小结

使用HttpClient+jsoup做采集器有一段时间了,发现jsoup很好用,而且还有很多方便的东西都没怎么用上。于是想根据官网上的cookbook来对jsoup的使用做个小结,或者是归纳。按功能分...
  • jyg694234697
  • jyg694234697
  • 2015年03月11日 17:06
  • 617

Jsoup解析html的基本用法

这周学习了Jsoup的基本用法,感觉Jsoup解析html文本和dom解析xml大同小异。学习过xml解析的朋友如果学习Jsoup上手很快。没学过的朋友也没关系,Jsoup很简单下面我们一起来学习: ...
  • xaingge
  • xaingge
  • 2016年05月30日 20:32
  • 886

Java中使用jsoup解析HTML

1
  • ljtyzhr
  • ljtyzhr
  • 2014年09月11日 11:21
  • 1065

使用Jsoup解析Html

想要做一个看新闻的应用,类似Cnbeta客户端的东西。大致思路如下:根据链接获取新闻列表页的html代码,然后解析,找到所有的新闻标题和新闻链接用listView显示,当点击ListView的Item...
  • lyglostangel
  • lyglostangel
  • 2015年04月07日 11:53
  • 332

使用Jsoup解析Html == TextView显示html图片的方法

想要做一个看新闻的应用,类似Cnbeta客户端的东西。大致思路如下:根据链接获取新闻列表页的html代码,然后解析,找到所有的新闻标题和新闻链接用listView显示,当点击ListView的Item...
  • u013378580
  • u013378580
  • 2016年06月06日 16:17
  • 862

jsoup:解析HTML用法小结

1.解析方式  (1)从字符串解析  ? 1 2 3 String html = "First parse"   ...
  • hong0220
  • hong0220
  • 2014年11月15日 00:28
  • 18702

使用jsoup解析html的table中的文本信息

jsoup是一个非常好用的html解析工具。使用时需要下载相应的jar包。下面就是我使用jsoup解析html的表格的java源代码。亲测可用public void parse(){ String ...
  • chenkangyong
  • chenkangyong
  • 2017年07月29日 15:37
  • 929

JSoup解析html常见问题

之前写了一个关于抓所以取某个网站用户信息的程序,大量的用到了关于JSoup解析html的知识。并且其中也遇到了一些问题,这类问题在我们以后的开发过程中可能还有机会遇到,所以今天在这里对这块做个总结。 ...
  • xqhadoop
  • xqhadoop
  • 2016年07月13日 09:50
  • 609

使用Jsoup解析html

在前面一些文章中介绍了Jsoup的一些常用类的使用:jsoup的Document类 、Jsoup类 、jsoup的Node类 、jsoup的Element类 、jsoup的Elements类 。都是其...
  • u010142437
  • u010142437
  • 2014年04月16日 16:34
  • 2355

Jsoup解析html界面

纯手打,转载务请附上本文网址!!! 什么是Jsoup,Java代码解析html页面的工具;先把html页面解析为字符串,再用Jsoup解析即可 用这个小东西可以实现Java爬虫的哦,有意思...
  • XIANZHIXIANZHIXIAN
  • XIANZHIXIANZHIXIAN
  • 2018年01月15日 18:25
  • 35
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Andriod使用Jsoup解析Html
举报原因:
原因补充:

(最多只允许输入30个字)