用java解析bdqn.html,分析每个标签出现的次数 然后输出,类似 div 13次 li 20次 (存入Map,放入新元素的判断是否已存在,不存在,加入;存在,数量加1)
时间: 2024-06-09 10:08:36 浏览: 75
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
5星 · 资源好评率100%
好的,可以使用Jsoup这个Java库来解析HTML,以下是代码实现:
```java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class HtmlParser {
public static void main(String[] args) {
// 解析的网页链接
String url = "http://www.bdqn.cn/";
// 用于存储标签出现次数的Map
Map<String, Integer> tagCountMap = new HashMap<>();
try {
// 获取页面HTML代码
Document doc = Jsoup.connect(url).get();
// 获取页面中的所有标签
Elements tags = doc.getAllElements();
// 遍历所有标签
for (Element tag : tags) {
// 获取标签名称
String tagName = tag.tagName();
// 判断Map中是否已存在该标签名称
if (tagCountMap.containsKey(tagName)) {
// 如果存在,将该标签的数量加1
int count = tagCountMap.get(tagName);
tagCountMap.put(tagName, count + 1);
} else {
// 如果不存在,将该标签加入Map并将数量设为1
tagCountMap.put(tagName, 1);
}
}
// 遍历Map,输出每个标签出现的次数
for (Map.Entry<String, Integer> entry : tagCountMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue() + "次");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
解析后的输出结果类似于:
```
link 5次
meta 9次
script 22次
div 89次
ul 5次
li 84次
h1 1次
h2 7次
h3 7次
a 119次
img 17次
span 6次
strong 2次
iframe 1次
p 52次
```
阅读全文