博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Jsoup解析Html,获取网页内容
阅读量:6146 次
发布时间:2019-06-21

本文共 1423 字,大约阅读时间需要 4 分钟。

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

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

public String getHtmlString(String urlString) {
try {
URL url = new URL(urlString); URLConnection ucon = url.openConnection(); InputStream instr = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(instr); ByteArrayBuffer baf = new ByteArrayBuffer(500); int current = 0; while ((current = bis.read()) != -1) {
baf.append((byte) current); } return EncodingUtils.getString(baf.toByteArray(), "gbk"); } catch (Exception e) {
return ""; } }

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

 

 

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

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

String htmlString = getHtmlString("http://www.cnbeta.com"); Document document = Jsoup.parse(htmlString);

比如要获取cnbeta的html的title,只需:

String title = document.head().getElementsByTag("title").text();

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

Document doc = Jsoup.parse(new URL("http://www.cnbeta.com"), 5000);

其中5000是连接网络的超时时间。

 

有关Jsoup的下载和更多介绍,见其官网:

 

我写的一个demo,点击按钮后会加载然后显示cnbeta首页的所有新闻标题和链接地址,下载:http://files.cnblogs.com/shanzei/_GetWebResoure.zip  ,zip包里有jsoup的jar包,导入项目后可能需要手动导入此jar包。

运行效果图——

 

原文:

转载于:https://www.cnblogs.com/shanzei/archive/2012/04/06/2434651.html

你可能感兴趣的文章
Oracle Redo Log
查看>>
js-JavaScript高级程序设计学习笔记14
查看>>
std::bind和std::function
查看>>
2016总结
查看>>
指令周期 机器周期 状态周期 振荡时钟周期(时钟周期)(转)
查看>>
恶意程序入侵 dbuspm-session 发现了新的方法制这种恶意程序
查看>>
JavaWeb应用出现HTTP 500-Unable to compile class for JSP 错误 的解决
查看>>
六种微服务架构的设计模式
查看>>
Unity Remote 5 使用
查看>>
swift开发多线程篇 - 多线程基础
查看>>
《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)...
查看>>
Selenium2+python自动化37-爬页面源码(page_source)
查看>>
pm2-web
查看>>
011-Spring Boot 运行流程分析SpringApplication.run
查看>>
[解决方案]sql server复制需要有实际的服务器名称才能连接到服务器
查看>>
用yarn替代npm
查看>>
ReSharper2017.3的列对齐、排版格式、列对齐错误的修复
查看>>
BZOJ3273 : liars
查看>>
mysql开发之---每日一得01
查看>>
Java基础-MySQL数据库扫盲篇
查看>>