Android自由开发者 通过Jsoup抓取网页数据
来源:互联网 发布:开启手机休眠关闭网络 编辑:程序博客网 时间:2024/05/16 16:20
现在网上流行了一种自由开发者的风气;就是自己私下写一个简易的app上传到github上;可以以此项目作为开源;同时熟悉git操作;但是很多时候我们都需要一些数据来呈现在app中;如图片列表,如文字+图片列表;网上有很多开放式的api可以调用,如百度api、http://gank.io/api(干货集中营api);如果你现在想弄自己的一套数据,想把一些网站的数据整合过来使用,那就需要去抓取某些网页中的特定数据;
我们是通过Jsoup来抓取数据的;jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容;
关于Jsoup的介绍,请访问Jsoul的官网:http://jsoup.org/
关于Jsoup的jar包下载地址:http://jsoup.org/download
关于Jsoup的官网API文档查询:http://jsoup.org/apidocs/
这里:http://www.open-open.com/jsoup/
AndroidStudio中把jar包放入libs文件下;右键add as a libr...后就可以使用了;废话不多说,这里就是讲怎么通过Jsoup去抓取网页特定数据;
比如这里我们需要抓取泡在网上的日子中安卓开发里面文章的标题+图片+详情链接;
直接右键显示网页源码(或者F12);我们可以看到很多HTML+CSS标签等;
我们直接在里面快速找到我们需要的标题(如:Realm for Android快速入门教程、Android 6.0状态栏使用灰色文字和图标);之后我们需要分析是从什么节点开始才是一条数据;就好比数组[{},{}]一样;里面每个数据都是以什么开头的;这里我们分析之后可以看到是以<div class="archive-list-item">为节点就是一条数据;我们需要的详情连接是在<div class="archive-list-item">层下第一个标签<a href>中;图片地址是在第二个标签<img>中, 我们需要的标题是在<div class="post-intro">层下的子标签里面;
我们所需要的东西已经找到;接下来我们去抓取出数据封装一下就可以用了;
代码如下:
可以看到先是通过Jsoup.connect(url).get();获取一个Document;这样我们就可以通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据;首先解析我们上面说的节点<div class="archive-list-item">会得到一个Elements 通过for循环;我们在循环中取我们需要的数据;看代码可以发现Elements的两个属性select和attr;select可以认为是提取<XXX这种标签;attr可以是认为提取XXX的内容;如:e.select("img").attr("src")) 就是提取标签img下面的src对应的内容;我们运行打印一下数据可以看到下面的结果:
可以看到我们需要的数据已经打印出来了;
接着我们就是接收跟封装数据了,毕竟我们习惯了后台服务器返回的那种json数据;接下来写一个简易的Bean类如下:
里面序列化的代码没截全;把上面代码改下改掉;顺便加上分页功能:
这样我们就能愉快地使用List<Object>数据了;
最后特此声明:用了泡在网上的日子的数据;
原文链接:http://www.jianshu.com/p/7d658636764a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
- Android自由开发者 通过Jsoup抓取网页数据
- Android利用jsoup抓取网页数据
- jsoup 抓取网页数据
- Java抓取网页数据-----Jsoup
- HttpClient + Jsoup 网页数据抓取
- Jsoup网页数据抓取案例
- jsoup抓取网页上的数据,Android同时获取数据
- Android App使用Jsoup抓取网页数据显示
- 【基于Jsoup】Android通过Jsoup抓取网页信息详解(一)
- 网页数据抓取——使用jsoup
- 使用Jsoup进行网页数据抓取
- jsoup技术抓取网页数据大全
- jsoup选择器来抓取网页中的数据
- jsoup选择器来抓取网页中的数据
- 用Jsoup包抓取网页数据
- httpClient及jsoup抓取解析网页数据
- JSOUP抓取网页内容
- Jsoup网页抓取技术
- 人生经验 电脑对于程序员有何意义?
- 51nod1174【基于线段树的RMQ】
- Git Rebase基础
- 手动下载VMware Tolls.ISO
- css 背景透明,文字不透明
- Android自由开发者 通过Jsoup抓取网页数据
- 关于autohotkey的一些文章
- mysql5.7版本安装出现的问题
- zabbix一键安装脚本
- CCF 有趣的数
- leetcode-17. Letter Combinations of a Phone Number
- 戏子SB啦啦
- YoMail 隐藏小功能之怎样在yomail里使用石墨文档?
- iOS如何在自己的手机上调试xcode程序