Android利用Jsoup解析html 开发网站客户端小记。
这些天业余时间比较多,闲来无事,想起了以前看过开发任意网站客户端的一篇文章,就是利用jsoup解析网站网页,通过标签获取想要的内容。好了废话不多说,用到的工具为 jsoup-1.7.2.jar包,具体jsoup的相关文档,请去这边看http://jsoup.org/,这里有全部Api可以查询。
这里解析的网站是一个食谱网站,首先解析的是大类栏目标签。
如果你使用过jquery那么 ,接下来的事情就小菜一碟了,我们按F12进入浏览器的开发者模式,去分析当前html页面的结构,如下图:
每个<li></li>标签里面的值就是我们需要的,接下来我们需要异步去获取网页信息,首先创建一个连接,生成一个Document对象,取得标题所在<ul>的id值,通过select过滤。
Elements divs = content.select("#siteNav");
然后通过Jsoup去解析上图的标签,通过循环取出标题栏还有子目录的超链接,插入数据库,超链接用作展开子目录的网页地址,像这种网站大的标题结构一般是不会改变的,可以留作缓存,而不用每次进入总要加载解析。
//异步获取信息class Loadhtml extends AsyncTask<String, String, String>{ProgressDialog bar;Document doc;@Overrideprotected String doInBackground(String... params) {// TODO Auto-generated method stubtry {doc = Jsoup.connect(Constans.NetAddress).timeout(5000).post();Document content = Jsoup.parse(doc.toString());Elements divs = content.select("#siteNav");Document divcontions = Jsoup.parse(divs.toString());Elements element = divcontions.getElementsByTag("li");Log.d("element", element.toString());for(Element links : element){String title = links.getElementsByTag("a").text(); String link = links.select("a").attr("href").replace("/", "").trim();String url = Constans.NetAddress+link;ContentValues values = new ContentValues();values.put("Title", title);values.put("Url", url);usedatabase.insert("Cach", values);}} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}return null;}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result); // Log.d("doc", doc.toString().trim()); bar.dismiss();ListItemAdapter adapter = new ListItemAdapter(context, usedatabase.getlist());listmenu.setAdapter(adapter);}@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();bar = new ProgressDialog(context);bar.setMessage("正在加载数据····");bar.setIndeterminate(false);bar.setCancelable(false);bar.show();}}
最终手机断显示
今天就总结到这里,下次具体讲解析完数据后,通过SQLITE存储,还有每个标题的子目录展开等。
转载于:https://www.cnblogs.com/LIANQQ/p/3460275.html
Android利用Jsoup解析html 开发网站客户端小记。相关推荐
- Android 利用jsoup解析 html
原由:我在访问服务器时,回来的数据是html源文件,我需要从html源文件中获取对自己有用的信息. 一般情况下jsoup多用于JAVA方面的开发,可以利用jQuery,DOM一同使用.可以达到抓 ...
- Android开发探秘之三:利用jsoup解析HTML页面
这节主要是讲解jsoup解析HTML页面.由于在android开发过程中,不可避免的涉及到web页面的抓取,解析,展示等等,所以,在这里我主要展示下利用jsoup jar包来抓取cnbeta.com网 ...
- Android 使用Jsoup解析网页批量获取图片
Android 网络图片查看器HappyLook开发 一.前言 二.框架介绍 1.Jsoup简介 2.EventBus简介 3.RecyclerView及Glide 三.具体实现 1.需求确认 2.引 ...
- Android利用Gson解析Json数据
其实,要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个 ...
- 利用jsoup解析网站网页
用到的工具为 jsoup-1.7.2.jar包,具体jsoup的相关文档,请去这边看http://jsoup.org/,这里有全部Api可以查询. 首先请求网页, Document doc = Jso ...
- Android 使用Jsoup解析Html
想要做一个看新闻的应用,类似Cnbeta客户端的东西.大致思路如下:根据链接获取新闻列表页的html代码,然后解析,找到所有的新闻标题和新闻链接用listView显示,当点击ListView的Item ...
- 利用dns解析来实现网站的负载均衡
当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...
- 利用Jsoup解析HTML
http://passover.blog.51cto.com/2431658/484673 最近又要做html内容抽取,这次打算尝试一下除了用正则表达式以外的其他方式.自然第一个想到的就是HtmlPa ...
- Android利用jsoup爬虫爬网页数据(一)
效果图太大了,我放到github上了,想看效果的点击以下链接: 效果图一 效果图二 首先这个jsoup只能对html爬取数据,js里面的东西爬不到,暂时先只爬html的数据,这里先说明一下,博主仅仅出 ...
最新文章
- Thecus色卡司1U机架式网络存储服务器
- (转)从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节
- Cluster coefficient的理解
- chrome web store的信息
- adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务
- IDEA常用快捷键【win-mac对比】
- java的向下转型_终于搞明白向下转型的作用了,还不懂的进来看下.
- Linux操作系统PS命令详细解析
- IOConsole Updater 报错解决办法
- Hbuilder 跳转另一个app
- iOS 自带地图定位失败原因 Code=0和Code=1区别
- Fultter之Element和Widget对应关系解析
- 6月27日 OGDF不同的布局算法
- 拓端tecdat|python安娜卡列妮娜词云图制作
- Android studio引入XUI
- udacity-谷歌自动驾驶-课程笔记-localization
- 计算机一级常用英语缩写,电脑常用英文单词和缩写
- LeetCode-1276. 不浪费原料的汉堡制作方案
- 【HTML】元素的 alt 和 title 有什么区别?
- 鼠标指针下总出现一个滚动条似的方框,怎么办?有图