在 JAVA 中使用 Xpath 解析 HTML 文件
Parsing HTML file using Xpath in JAVA
我有一个 Java 代码可以读取 URL 的源代码并保存到文件 (source.html),现在我想从保存的页面中提取一些使用 XPath 的值。假设我想阅读价格 - //div [@itemprop='price'] //text ()
如何进一步执行此操作,我能否直接在保存的 HTML 页面中执行此操作,或者我应该先将其转换为 XML 文件,然后使用 XPath。我听说 HTML cleaners/Parsers 我应该在这里使用它吗?请不要指向其他网站寻求答案。如果是这样,请将我带到可以进行直接简单课程的地方。修改以下代码将非常有帮助。
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.jsoup.Jsoup;
public class jSoupContentRead {
@SuppressWarnings("resource")
public static void main(String[] args) throws IOException {
FileWriter FR = new FileWriter("source.html");
PrintWriter op = new PrintWriter(FR);
org.jsoup.nodes.Document doc = Jsoup.connect(
"http://itunes.apple.com/us/book/a-way-home/id982665320?mt=11")
.get();
op.write(doc.toString());
System.out.println(doc.toString());
}
}
通常(跨语言)XPath 将应用于 DOM 结构。在 php 中有一个标准程序:
- 得到html
- 使其成为有效的 xml(可能是一个可选步骤)
- 将其设为DOM文档对象实例
- 使其成为 DOMXPath 对象实例
- 将 xpath 查询应用于此 DOMXPath 实例。看到一个 example in php.
我觉得JAVA中应该有类似的东西。
我有一个 Java 代码可以读取 URL 的源代码并保存到文件 (source.html),现在我想从保存的页面中提取一些使用 XPath 的值。假设我想阅读价格 - //div [@itemprop='price'] //text ()
如何进一步执行此操作,我能否直接在保存的 HTML 页面中执行此操作,或者我应该先将其转换为 XML 文件,然后使用 XPath。我听说 HTML cleaners/Parsers 我应该在这里使用它吗?请不要指向其他网站寻求答案。如果是这样,请将我带到可以进行直接简单课程的地方。修改以下代码将非常有帮助。
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.jsoup.Jsoup;
public class jSoupContentRead {
@SuppressWarnings("resource")
public static void main(String[] args) throws IOException {
FileWriter FR = new FileWriter("source.html");
PrintWriter op = new PrintWriter(FR);
org.jsoup.nodes.Document doc = Jsoup.connect(
"http://itunes.apple.com/us/book/a-way-home/id982665320?mt=11")
.get();
op.write(doc.toString());
System.out.println(doc.toString());
}
}
通常(跨语言)XPath 将应用于 DOM 结构。在 php 中有一个标准程序:
- 得到html
- 使其成为有效的 xml(可能是一个可选步骤)
- 将其设为DOM文档对象实例
- 使其成为 DOMXPath 对象实例
- 将 xpath 查询应用于此 DOMXPath 实例。看到一个 example in php.
我觉得JAVA中应该有类似的东西。