Android解析Html,快速打造一个App

 

转载请注明出处:http://www.jianshu.com/p/27a2c7e3e541
欢迎访问:程序员自己的导航网站---极客导航

最近发现一个网站www.unsplash.com ( 没有广告费哈,纯粹觉得不错 ),网页做得很美观,上面也都是一些免费的摄影照片,觉得很好看,就决定利用蹩脚的技能写个爬虫下载图片。

一、概述

我们都知道大部分后端返回给移动端的数据都是以Json数据返回的。有些时候如果我想直接显示网页上数据怎么办呢。可能我们都知道直接写WebView控件就可以了,但是webview显示网页的效果目前看来并不是很好,因为它要渲染,所有用户体验不好。那最好的办法就是我们把网页上的数据转化成自己的数据。下面就介绍一个神器。

先随意感受一下这个网站:

二、jsoup

jsoup是解析html的神器,因为网页的上数据也是规律的,所以jsoup通过的它的可以解析成Document对象,通过Document对象可以取出我们想要的数据。下面列出jsoup一些相关的地址:

jsoup官方文档
jsoup中文文档
Github地址

图片 1

三、使用

首页先在AndroidStudio引用,如图:

这里写图片描述

注意:使用请放在子线程上,否则会报错,对了,别忘记加上网络权限。
前期工作准备完毕,接下来我们得找一个网页,当我们的数据源了。作为一个资深段友,那么我们就那内涵段子做我们的数据源吧。内涵段子。我们来分析它的html是怎么样的。如图:

这里写图片描述

可以看出它的内容是一个div下面的元素p里面的文本
那么我把div解析出来,在解析出div里面的p,在拿到p里面的内容,这样就可以解析出来。上代码:

image

效果如下:

image

我们可以出数据已经解析出来,在转化成我们自己的Bean类,就可以展示了。我们发现他这个内容其实是两个div嵌套,我们解析的是第一个div。那么我们直接解析第二个div是否也可以解析出来内容呢,我们来试试:

image

你会发现得到同样的效果,可以肯定只要我们找到一个div标签就可以解析出来里面的内容。

有一种需求就是我们想解析例如a标签里面的href内容,这个时候我们就不能用.text方法了,得用.attr方法。具体代码如下:

image

效果如下:

image

解析到这,我相信所有都知道怎么取出该条内容点赞数、踩数、收藏数的了。代码如下:

这里写图片描述

还有一些评论数,大家按照这样方式解析一下。取到这些数据,其实我们就可以做成一个应用首页了。因为我们想要的数据都有了。

当然我们还有一些需求,就是我们我想要一些数据是经过我们修改的,就是我们要修改html里面的值。如下:

image

效果如下:

image

其余大家可以参考一下中文文档。恩,就先这样。

四:其他
CSDN下载
现在CSDN不让0分下载了。。。。
Github下载

接下来开始对网页进行解析:

在该网页检查元素,选择其中一张图片查看它的代码

图片 2

 

本文由金沙官网线上发布于编程,转载请注明出处:Android解析Html,快速打造一个App

您可能还会对下面的文章感兴趣: