背景需求:
采集和讯网的财经人物,url为:http://renwu.hexun.com/,采集人物名称然后保存。
思路:
基于dom4j采集,根据url规则遍历获取,直到没有人物数据,基于xpath解析出最终的人物名称。
实现:
private static void getRWData(Set<String> set) throws Exception { String xpath = "/*[name()='HTML']/*[name()='BODY']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='UL']/*[name()='LI']/*[name()='A']"; DOMParser parser = new DOMParser(); for (int i = 1; i < 10000; i++) { parser.parse("http://renwu.hexun.com/search.aspx?z=All&Filter=All&page="+i); DOMReader domReader = new DOMReader(); Document document = domReader.read(parser.getDocument()); Element root = document.getRootElement(); List<Node> nodes = root.selectNodes(xpath); if(nodes.isEmpty()){ return; } for (Node node : nodes) { set.add(node.getText()); } } }
保存在Set中供后期使用
相关推荐
本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,以及相关的实现步骤和关键知识点。 首先,理解XPath的基本概念至关重要。XPath使用路径表达式来选取XML文档中的节点。这些路径表达式类似于文件系统中...
Java中的XPath工作原理是基于XML文档的DOM(Document Object Model)树,通过XPath表达式定位到DOM树上的特定节点。XPath表达式是一种简洁的字符串,可以表示复杂的节点选择规则。例如,`/bookstore/book` 表示选取...
XPath的语法基于路径表达式,这些表达式可以指向XML文档中的特定节点。例如,`/html/body/p` 是一个路径表达式,它选择HTML文档中所有元素下的段落元素。XPath还支持轴的概念,如祖先轴(ancestor)、子节点轴(child)...
在实际开发中,XPath API 可以结合其他 XML 处理技术,如 JAXB(Java Architecture for XML Binding)或 DOM,以实现高效的 XML 数据处理。例如,你可能先使用 JAXB 将 XML 解析为 Java 对象,然后使用 XPath 来筛选...
在本主题中,我们将深入探讨基于Xpath的XML文件查询和更新。 **Xpath基本概念** 1. **节点类型**:Xpath中的节点包括元素(element)、属性(attribute)、文本(text)、命名空间(namespace)、处理指令...
XPath基于W3C标准,为开发者提供了强大的查询能力,使得数据提取和处理变得更加高效。在这个Java编写的XPath生成工具中,它专门针对HTML和XML文件,帮助开发者快速生成适用于这两种格式文档的XPath表达式。 1. **...
在Java中,XPath与Java API for XML Processing(JAXP)一起使用,可以方便地解析和操作XML文档。本Java XPath Demo将向你展示XPath在实际开发中的应用。 首先,你需要了解XPath的基本语法。XPath表达式是由路径...
在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...
Java XML XPath 是一种在XML文档中查找信息的语言,它被广泛用于Java开发中,以便高效地提取和操作XML数据。XPath使用路径表达式来选取XML文档中的节点或节点集,这些表达式类似于文件系统的路径,但针对的是XML文档...
JDOM是Java Document Object Model的缩写,它提供了一种基于Java的API来处理XML。JDOM允许开发者以面向对象的方式创建和操作XML文档,使得处理XML数据更为便捷。 XPath在JDOM中的作用是通过表达式来查找XML文档中的...
XPath的jar包,例如`jaxen`,是Java实现的一个XPath处理库,它允许Java应用程序执行XPath查询并在XML文档中提取数据。Jaxen项目是一个开源项目,旨在提供一个独立于特定XML API的通用XPath引擎,支持DOM、DOM4J、...
为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,支持几乎全部常用的xpath语法.http://www.cnblogs.com/ 为例 "//a/@href...
整理JsoupXpath( https://github.com/zhegexiaohuozi/JsoupXpath)是一款纯Java开发的使用xpath解析提取html内容的解析器,xpath语法分析与执行...JsoupXpath的实现逻辑清晰,扩展方便, 支持几乎全部常用的xpath语法。
Java采集工具是一款基于HTMLUnit库的数据采集程序,其源码提供了深入理解网页抓取和解析技术的机会。HTMLUnit是一个无头浏览器,它模拟了Web客户端的行为,允许开发者在没有图形用户界面的情况下执行JavaScript,...
在这个场景中,“Xpath读取xml文件,实现文件缓存”指的是利用XPath来高效地检索XML数据,并通过缓存机制提高后续访问的效率。这通常涉及到以下几个关键知识点: 1. **XPath语言**: XPath是一种在XML文档中查找信息...
xpath.jar
本主题将深入探讨如何使用Java中的JDOM库来实现XPath解析,从而高效地提取XML数据。 JDOM是一个纯Java的XML处理库,它提供了一种简单的方式来构建、修改和读取XML文档。与DOM(Document Object Model)相比,JDOM...
JsonPath是一种用于从JSON文档中提取数据的语言,其语法与XPath在XML文档中的操作非常相似。XPath是XML处理中常用的一种路径表达式语言,而JsonPath则是为JSON数据设计的查询语言。在Java开发中,处理JSON格式的数据...