Jsoup-实现简单的网络爬虫
来源:互联网 发布:80端口申请书 编辑:程序博客网 时间:2024/04/29 21:39
/Jsoup的简介:
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
Jsoup的功能:
1.从一个URL,文件或字符串中解析HTML;
2.使用DOM或CSS选择器来查找、取出数据;
3.可操作HTML元素、属性、文本;
做了一个这样的demo,先看效果图:
(只能上传2M以下,这个真悲催,录了好多次,就这一次小于2M,将就看吧,是一个瀑布流样式,实现下拉刷新,上拉加载更多…)
资源来源:美女图片:http://www.topit.me/tag/美女?p=2
选取截取部分:
在class属性为catalog的div中,所包含的每一个class属性为”e m”的div下都包含一个图片,前端中称div为一个盒子模型,打开其中的一个div,我们可以看到里面的img标签,我们通过这个标签中的src属性,就可以拿到图片的地址。
通过Jsoup我们拿到整个html文档,通过查找class为”e m”的标签,我们拿到一个集合,集合包含整个class属性为”e m”的列表,遍历整个集合,得到其中的每一个div,html中叫这个div为元素也叫标签,整个集合得到的是一个Elements,每一个元素是Element,通过这个Element,再次调用getElementsByTagName,根据img标签,可以获取这个img元素,最后根据这个元素,获取属性为src的内容,就可以取到这个图片地址了,当然还可以获取里面的所有属性信息,你高兴就好….(不明白的就在下面拍砖,我再给你讲讲)。
对应代码:
try { //调用网络操作获取返回来的html json = Helper.getStringFromUrl(url); } catch (IOException e) { e.printStackTrace(); }if(null != json){ document= Jsoup.parse(json); Elements es=null; Elements elements=document.getElementsByClass("e m"); for (Element element : elements) { DuitangInfo newsInfo = new DuitangInfo(); String imageUrl=element.getElementsByTag("img").attr("data-original");if(imageUrl.toString().trim()==null||imageUrl.toString().trim().equals(""){ imageUrl=element.getElementsByTag("img").attr("src"); newsInfo.setIsrc(imageUrl); }else { newsInfo.setIsrc(imageUrl); } //图片如果有高度的话,可以取得图片高度,在设置 newsInfo.setHeight(200+(new Random().nextInt(200))); duitangs.add(newsInfo); }}
也可以这么写:
//在异步中调用 Connection conn=Jsoup.connect("url"); Document document=conn.get();//同样可以得到document
总结: Jsoup通过操作网络返回的或者本地读取的html,生成一个DoM树对象,在对这个Dom数进行遍历解析,提取里面想要获取内容、属性值的就可以了,拿到数据,设置在view上,完成操作…
有问题欢迎拍砖,多多指教…..
转载请标明:http://blog.csdn.net/zxyudia/article/details/61917964
代码下载地址:https://github.com/amelons/Jsoup
- Jsoup-实现简单的网络爬虫
- 基于Jsoup实现的简单网络爬虫
- Jsoup实现简单的爬虫
- 简单的网络爬虫实现(Jsoup使用)
- 基于Jsoup实现的简单爬虫
- 使用JSOUP实现网络爬虫
- 使用JSOUP实现网络爬虫
- Jsoup做的网络爬虫
- jsoup 的用法网络爬虫
- 【正完成】Java基于Jsoup的网络爬虫工具实现
- 【1】用jsoup来实现简单的java爬虫
- 网络爬虫的简单实现
- 【使用JSOUP实现网络爬虫】处理URLs
- 【使用JSOUP实现网络爬虫】处理URLs
- Jsoup实现网络爬虫抓取数据
- 【使用JSOUP实现网络爬虫】专栏
- Java爬虫学习:利用HttpClient和Jsoup库实现简单的Java爬虫程序
- 网络爬虫(三) Java实现简单的网络爬虫
- xx.exe 中的 0x00000000 处未处理的异常: 0xC0000005: Access violation
- Python编辑器IDLE使用教程
- 页面传值、plusready、自定义事件
- iOS开发中可能会用到的一些函数
- 浅谈Socket长连+多线程
- Jsoup-实现简单的网络爬虫
- 第十七周:96. Unique Binary Search Trees
- github发布个人网站
- Mini2440之uboot的烧写
- 如何使用android.os.SystemProperties的方法
- oracle错误号
- == 转换规则
- Servlet工作原理
- Spring-Data-Mongodb数据库连接代码示例