gpt4 book ai didi

java - 在java中创建HREF和链接名的Java HashMap

转载 作者:行者123 更新时间:2023-12-01 23:40:55 26 4
gpt4 key购买 nike

所以,我有一个巨大的 HTML 文件,其中包含许多此类 HREF 和链接名称

<A HREF="AccountCttR.html" TARGET="tableFrame">AccountCttRR</A><BR>
<A HREF="AccountCV.html" TARGET="tableFrame">AccCV</A><BR>
<A HREF="AccountCR.html#AccountHolder" TARGET="tableFrame">AccH</A><BR>

现在,我想解析这个 HTML 文件,并创建一个 HashMap

Key = <*.html>; value = <linkname>

前提:HREF 都是唯一的。因此,它们可以很容易地用作 HashMap 的键。我知道我可以使用 JSoup,但是我该如何做到这一点(在 java 中)?请帮忙?

使用的代码:我正在尝试使用此代码:

// rawContent is the "string" output of bufferedreader

Element content = Jsoup.parse(rawContent).getElementById("content");
Elements links = content.getElementsByTag("a");

for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
System.out.println(linkHref+" @@@ "+ linkText);
}

但它返回一个 Java NullPointerException

最佳答案

Jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods

下面是您可以尝试将链接和详细信息存储在 HashMap 中的代码:

Document doc;
Map<String,String> hrefMap = new HashMap<String,String>();
try {

// need http protocol
doc = Jsoup.connect("http://google.com").get();

// get all links
Elements links = doc.select("a[href]");
for (Element link : links) {

//put elements in the map
hrefMap.put(link.attr("href"),link.text() );

}

} catch (IOException e) {
e.printStackTrace();
}

关于java - 在java中创建HREF和链接名的Java HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960794/

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