Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从网页中提取特定文本?_Java_Text_Extract_Webpage - Fatal编程技术网

Java 如何从网页中提取特定文本?

Java 如何从网页中提取特定文本?,java,text,extract,webpage,Java,Text,Extract,Webpage,我正在尝试从网页中提取特定文本 这是包含特定文本的网页部分: <div class="module"> <div class="body"> <dl class="per_info"> <dt>F.Name:</dt> <dd><a class="nm" href="http://">a Variable Name1</a></dd> <dt>L.Name:</dt>

我正在尝试从网页中提取特定文本

这是包含特定文本的网页部分:

<div class="module">
<div class="body">
<dl class="per_info">
<dt>F.Name:</dt>
<dd><a class="nm" href="http://">a Variable Name1</a></dd>
<dt>L.Name:</dt>
<dd><a class="nm" href="http://">a Variable Name2</a></dd>
</dl>
</div>
</div>

F.姓名:
L.姓名:
如何提取变量Name1和变量Name2的内容


是否有html解析器可以执行此提取?

好的,您可以尝试Selenium,它以DOM感知的方式将html页面加载到java代码中,这样之后您就可以根据id、xpath等选择html元素的内容

是一种兼容SAX的解析器,能够解析“野生”中的HTML。因此不需要格式良好的XML。

是一个Java库,可以解析HTML和提取元素数据。要使用jsoup,首先通过从文件、URL、整个文档字符串或HTML片段字符串解析jsoup文档来创建jsoup文档。HTML示例如下所示:

String html = "<div class='module'>" +
    "<div class='body'>" +
    "<dl class='per_info'>" +
    "<dt>F.Name:</dt>" +
    "<dd><a class='nm' href='http://'>a Variable Name1</a></dd>" +
    "<dt>L.Name:</dt>" +
    "<dd><a class='nm' href='http://'>a Variable Name2</a></dd>" +
    "</dl>" +
    "</div>" +
    "</div>";
Document doc = Jsoup.parseBodyFragment(html);

+1:最后有人要求解析器解析HTML,而不是要求正则表达式。另一个+1表示不要求正则表达式。
// select all <a/> elements from the document
Elements anchors = doc.select("a")
for (Element anchor : anchors) {
    String contents = anchor.text();
    System.out.println(contents);
}