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);
}