jsoup
来源:互联网 发布:unity3d 工业仿真 编辑:程序博客网 时间:2024/05/22 17:40
一 概述:
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
二 功能
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
3. 可操作HTML元素、属性、文本;
三 参考资料
jsoup官方文档
https://jsoup.org/cookbook/
中文文档:
http://www.open-open.com/jsoup/
四 添加依赖
compile 'org.jsoup:jsoup:1.9.2'
五 请求参数一般在网络中,在清单文件添加权限
<uses-permission android:name="android.permission.INTERNET"/>
六 用log来验证数据是否正确,布局
<Button android:text="解析资源" android:onClick="dian" android:layout_width="match_parent" android:layout_height="wrap_content" />
七 代码实现
1,找到你所需要的网页,右键查看网页源码
(我找的网页):
http://home.meishichina.com/show-top-type-recipe.html
2,看下我们要查找的数据
3,这里需要注意,网络请求是耗时操作,需要放在子线程,不然会报一个NetworkOnMainThreadException的异常
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //使用Element.select(String selector)查找元素, // 使用Node.attr(String key)方法取得一个属性的值 public void dian(View view) { new Thread(){ public void run(){ try { //URL加载一个Document对象。 Document doc = Jsoup.connect("http://home.meishichina.com/show-top-type-recipe.html").get(); //“椒麻鸡”和它对应的图片都在<div class="pic">中 Elements titleAndPic = doc.select("div.pic"); Log.i("mytag", "title:" + titleAndPic.get(1).select("a").attr("title") + "pic:" + titleAndPic.get(1).select("a").select("img").attr("data-src")); //所需链接在<div class="detail">中的<a>标签里面 Elements url = doc.select("div.detail").select("a"); Log.i("mytag", "url:" + url.get(1).attr("href")); //原料在<p class="subcontent">中 Elements burden = doc.select("p.subcontent"); //对于一个元素中的文本,可以使用Element.text()方法 Log.i("mytag", "burden:" + burden.get(1).text()); }catch(Exception e) { Log.i("mytag", e.toString()); } } }.start(); }}
八 打印出来的log
更多内容请参考官方文档,谢谢查看。
阅读全文
0 0
- jsoup
- jsoup
- jsoup
- jsoup
- jsoup
- jsoup
- jsoup
- jsoup
- Jsoup
- jsoup
- jsoup
- jsoup
- Jsoup
- Jsoup
- Jsoup
- jsoup
- jsoup
- Jsoup
- 使用c++11标准库转换字符编码
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 动态规划的一些总结
- Apache Shiro源码 拦截器过程
- 学习一个FFT
- jsoup
- Js中几种高阶函数
- Sleep sort
- Java中的Socket的用法
- Experienced Endeavour UVA
- 【POJ 1002】487-3279
- jQuery效果-隐藏、显示、切换、滑动、淡入淡出以及动画。
- 音乐播放器(1)
- 使用TCP协议和多线程实现实时聊天室