gpt4 book ai didi

java - 如何使用 Jsoup 解析 HTMl 文件

转载 作者:行者123 更新时间:2023-11-30 03:21:00 34 4
gpt4 key购买 nike

我有一个 html 表格,想要根据特定条件提取链接文本

<table border="0" cellpadding="3" cellspacing="0" width="100%">
<tbody>
<tr class="dir"><td colspan="2">&nbsp;&nbsp;<a href="http://xyz/">Yogendra sharma</a></td></tr>
<tr>
<td class="f"><a href="abc">abc</a>&nbsp;</td>
<td>
<tt class="con">
<a class="s" href="mno"><span class="l">7</span> mno <b>Hello</b>;</a>
<br>
</tt>
</td></tr>

<tr class="dir"><td colspan="2">&nbsp;&nbsp;<a href="http://xyz/">Yogendra</a></td></tr>
<tr>
<td class="f"><a href="abc">abc</a>&nbsp;</td>
<td>
<tt class="con">
<a class="s" href="mno"><span class="l">7</span> mno <b>Hello</b>;</a>
<br>
</tt>
</td></tr>
</table>

我想打印所有第一个链接文本,即 html 文件的 Yogendra Sharma 和 Yogendra。

这个文件很大。

我使用 java 和 jsoup 但无法弄清楚。请帮助我。

最佳答案

您可以尝试以下代码。您需要 commons-io-1.3.2.jarjsoup.jar。将 html 保存为项目根文件夹中的 sample.html

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import org.apache.commons.io.IOUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class ExtractFromHTML {

public static void main(String[] args) throws IOException {

File input = new File("sample.html");

InputStream in = new FileInputStream(input);

String htmlOut = IOUtils.toString(in);

Document document = Jsoup.parse(htmlOut);

Elements elementsA = document.select("a");

Iterator<Element> elementIterator = elementsA.iterator();

while (elementIterator.hasNext()) {
Element aElement = elementIterator.next();

if (aElement.outerHtml().contains("http://xyz/")) {
System.out.println(aElement.text());
}

}
}
}

输出:

Yogendra sharma
Yogendra

关于java - 如何使用 Jsoup 解析 HTMl 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31336071/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com