`
icysea
  • 浏览: 37729 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

jsoup解析的常见用法

阅读更多

1、解析attribute中值,如下面所示的serviceID和serviceName:

String str="如下所示";

<Root>
<Item serviceID="16" serviceName="住家保姆" />
<Item serviceID="17" serviceName="不住家保姆" />
</Root>

解析方法:

 

List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
org.jsoup.nodes.Document doc = Jsoup.parse(str);
org.jsoup.select.Elements links = doc.getElementsByTag("Item");
for(int i=0;i<links.size();i++){
    Map<String,Object> map = new HashMap<String, Object>();
    map.put("serviceid", links.get(i).attr("serviceid"));
    map.put("serviceName", links.get(i).attr("serviceName"));
    resultList.add(map);
}
 

2、解析xml节点值

String str="如下所示";

<?xml version="1.0" encoding="utf-8"?>
<data>
<ITEM>
<ID>201203210001</ID>
<TITLE>xxx</TITLE>
<RELEASE_DATE>20110824</RELEASE_DATE>
<SOURCE>xxx</SOURCE>
<CONTENT>xxxxxx</CONTENT>
</ITEM>

<ITEM>
<ID>201203210002</ID>
<TITLE>xxx</TITLE>
<RELEASE_DATE>20110824</RELEASE_DATE>
<SOURCE>xxx</SOURCE>
<CONTENT>xxxxxx</CONTENT>
</ITEM>
</data>

 

解析方法:

List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
org.jsoup.nodes.Document doc = Jsoup.parse(str);
org.jsoup.select.Elements links_id = doc.getElementsByTag("ID");
org.jsoup.select.Elements links_title = doc.getElementsByTag("TITLE");
org.jsoup.select.Elements links_date = doc.getElementsByTag("RELEASE_DATE");
org.jsoup.select.Elements links_source = doc.getElementsByTag("SOURCE");
org.jsoup.select.Elements links_content = doc.getElementsByTag("CONTENT");
for(int i = 0;i<links_id.size();i++){
	Map<String, Object> resultMap = new HashMap<String, Object>();
	resultMap.put("id", links_id.get(i).text());
	resultMap.put("title", links_title.get(i).text());
	resultMap.put("relDate", links_date.get(i).text());
	resultMap.put("source", links_source.get(i).text());
	resultMap.put("content", links_content.get(i).text());
	resultList.add(resultMap);
}

3、解析html
1>根据"td"或者"tr"来解析
     org.jsoup.nodes.Document doc = Jsoup.parse(resHtml);
     org.jsoup.select.Elements links = doc.getElementsByTag("td");
     循环获取td中的值:
     links.get(i).text();

2>根据"class"参数来解析,如 <div class=".jtpsoft">...
     org.jsoup.nodes.Document doc = Jsoup.parse(resHtml);
     org.jsoup.select.Elements links = doc.select(".jtpsoft");
     然后根据links里面的 td或者tr标签来解析

3>根据 "name"参数来解析
    org.jsoup.nodes.Document doc = Jsoup.parse(resHtml);
    org.jsoup.select.Elements _links1 = doc.select("[name=zgzh]");
    org.jsoup.select.Elements _links2= doc.select("[name=sfzh]");
    如有多个name参数相同的值,则循环输出 _links1.get(i).val();
    取第一个值也可以使用_links1.first().val();

有兴趣的同学可以参考 http://jsoup.org/cookbook/

 

分享到:
评论
1 楼 lizhenlzlz 2018-01-24  
挺好的,对我有用

相关推荐

    jsoup的基本用法

    ### jsoup的基本用法 #### 一、简介 在日常工作中,经常需要处理网页内容,例如提取特定的数据或分析页面结构。此时,`jsoup`作为一款强大的Java库,能够帮助开发者轻松解析HTML文档,并提供了丰富的选择器来定位...

    在android中使用jsoup解析页面链接

    首先,让我们了解Jsoup的基本用法。Jsoup通过连接到指定的URL并下载HTML内容,然后解析这个内容以创建一个可操作的DOM(文档对象模型)结构。以下是一个简单的示例,展示了如何在Android中使用Jsoup连接到网页并获取...

    jsoup-1.11.3.jar

    3. **清理和标准化**:Jsoup能自动清理HTML,修正常见的语法错误,确保解析出的DOM结构符合HTML标准。同时,它还支持对不安全的HTML内容进行安全过滤,防止XSS攻击。 4. **连接和请求**:通过Jsoup的`Connection`...

    jsoup-demo

    `Document`对象是JSoup解析后的HTML结构,你可以通过CSS选择器或DOM遍历来查找元素: ```java Elements elements = doc.select("div.classname"); Element element = doc.getElementById("idname"); ``` 4. **...

    JSOUP的中文文档

    JSOUP,全称JavaSoup,是一个用于处理...以上是JSOUP库的基本用法和功能概述。它是一个强大的工具,适用于网页抓取、数据分析、HTML内容的清洗和格式化等任务。在实际应用中,可以根据具体需求灵活运用这些方法和功能。

    jsoup的jar包及例子

    例如,以下是一些常见的选择器用法: - `#id`:选取具有指定ID的元素,如`doc.select("#myId")`。 - `.class`:选取具有指定类名的元素,如`doc.select(".myClass")`。 - `[attribute=value]`:选取具有指定属性值...

    解析网页利器组合(正则、jsoup、beanshell、dozer)资源

    综合以上工具,我们可以构建一个高效的网页解析流程:首先使用正则表达式进行初步的文本匹配,然后利用Jsoup解析HTML并提取目标元素,接着借助BeanShell进行复杂逻辑判断和数据处理,最后通过Dozer将处理后的数据...

    用于Html文件解析的jar包

    而TagSoup则专注于处理不规范的HTML,它可以解析那些在实际网页中常见的乱七八糟的HTML标签和属性。 在这个"用于Html文件解析的jar包"中,可能是Jsoup或者其他类似的解析库,通过引入这个jar包,开发者可以在自己的...

    java操作修改html标签

    对于文件"jsoup中文API.docx",它很可能包含了Jsoup库的中文版API文档,这份文档详细列出了Jsoup的所有类、方法和属性,以及它们的用法和示例。通过阅读这份文档,开发者可以更好地理解如何利用Jsoup进行HTML操作。 ...

    Java常用开源库(附源码地址).docx

    Jsoup 是一个强大的 HTML 解析库,它的主要功能是解析HTML文档并提供一套易于使用的API来处理解析后的数据。通过Jsoup,你可以像使用jQuery一样,通过DOM和CSS选择器来查找和操作HTML元素。以下是一个简单的示例: ...

    爬虫开发案例&项目源码

    ### 知识点详解 #### 一、爬虫技术概览 爬虫技术,也称为网页抓取(Web Scraping),是一种从互联网自动提取数据的方法。这种技术在数据分析、市场研究、价格监控等多个领域有着广泛的应用。爬虫的实现过程主要包括...

    java代码-格式化html标签示例

    在这个场景中,它可能包含了如何运行示例代码、`Jsoup`的更多用法或者关于HTML格式化的补充说明。 总结一下,Java中格式化HTML标签主要涉及使用第三方库,如`Jsoup`。通过解析HTML字符串并利用库提供的方法,我们...

    webmagic.zip

    通过阅读和运行这个实例,你不仅能学习到WebMagic的基本用法,还能了解到爬虫开发的基本流程,包括请求网页、解析HTML、提取数据以及数据存储。同时,理解如何处理异常和避免被网站封禁也是爬虫开发中不可忽视的部分...

    基于 webmagic 的 Java 爬虫应用.zip

    HtmlParser模块用于解析HTML内容,WebMagic提供了JsoupParser,它是基于Jsoup库的,可以方便地进行CSS选择器操作,快速定位到需要的数据。此外,还可以自定义解析规则,比如通过正则表达式或XPath来抽取特定信息。 ...

    Android代码-[安卓开源]带夜间模式的浏览器项目.zip

    此外,解析HTML和CSS也是必不可少的,可能使用Jsoup或其他解析库来提取和操作页面内容。 4. **用户交互与界面设计** 文件名中包含的.png图片可能是浏览器界面的截图,展示了用户界面设计。良好的用户界面设计包括...

    springboot 集成webmagic实现网页数据爬取功能

    SpringBoot集成WebMagic实现网页数据爬取功能是一个常见的实践,特别是在大数据分析、信息抓取以及自动化测试等领域。这个项目提供了一个可以直接使用的示例工程,帮助开发者快速理解和应用爬虫技术。 1. **...

    模拟登陆新浪微博

    此外,由于微博可能有反爬虫机制,如滑动验证码或动态加载,因此在实际操作时可能需要处理这些问题,例如使用Jsoup解析DOM来触发JavaScript,或者使用Selenium等工具进行更复杂的交互。 总的来说,模拟登录新浪微博...

    Java基础资料知识点合辑

    - **HTML解析**:如使用Jsoup库解析HTML文档,提取所需信息。 - **线程管理**:确保用户界面的响应性,网络请求通常在后台线程中进行。 这个合辑中的每个部分都是Java学习道路上的重要里程碑。通过深入学习和实践...

    用httpclient写的登录开心网

    // 解析responseBody,可能需要使用Jsoup或其他HTML解析库 ``` 7. **关闭资源**:记得在完成操作后关闭HttpClient和响应: ```java response.close(); httpClient.close(); ``` 在给定的压缩包文件`KaixinTest.java...

    docconversion:文件转换

    在IT行业中,文件转换是一项常见的任务,特别是在文档处理和数据迁移的过程中。"docconversion"是一个专注于文件转换的工具,特别是将HTML文档转换成PDF格式。这个工具的主要目标是方便用户在不同的设备和平台上预览...

Global site tag (gtag.js) - Google Analytics