我想写一小段代码,这些代码将会超越" Kategorie"用jsoup从href中删除。
<a href="/wiki/Kategorie:Herrscher_des_Mittelalters" title="Kategorie:Herrscher des Mittelalters">Herrscher des Mittelalters</a>
在这种情况下,我正在搜索Herrscher des Mittelalters
。
我的代码使用BufferedReader
读取.txt文件的第一行。
BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(new File(FilePath)), Charset.forName("UTF-8")));
Document doc = Jsoup.parse(r.readLine());
Element elem = doc;
我知道有一些命令可以获取href-link,但我不知道在href-link中搜索元素的命令。
有什么建议吗?
其他信息:我的.txt文件包含完整的维基百科HTML页面。
答案 0 :(得分:1)
这应该可以从链接中获取所有标题。您可以根据需要进一步分割标题:
Document d = Jsoup.parse("<a href=\"/wiki/Kategorie:Herrscher_des_Mittelalters\" title=\"Kategorie:Herrscher des Mittelalters\">Herrscher des Mittelalters</a>");
Elements links = d.select("a");
Set<String> categories = new HashSet<>();
for (Element script : links) {
String title = script.attr("title");
if (title.length() > 0) {
categories.add(title);
}
}
System.out.println(categories);
答案 1 :(得分:0)
您可以使用getElementsContainingText()方法(org.jsoup.nodes.Document)搜索包含任何文本的元素。
Elements elements = doc.getElementsContainingText("Herrscher des Mittelalters");
for(int i=0; i<elements.size();i++) {
Element element = elements.get(i);
System.out.println(element.text());
}