[英]How to get specific data from a html file in JAVA
我有一個html文件,其中包含2k +行代碼,如下所示:
< tr>
<td class="name">Abkhazia</td>
<td>Asia<br>
<small>(Central West)</small>
</td>
<td>Sukhumi</td>
<td>Georgian lari;<br>Russian ruble</td>
<td class="numeric">216,000</td>
<td class="numeric">8,600</td>
<td class="numeric">25</td>
<td class="numeric">-</td>
<td class="numeric">-</td>
<td class="numeric">-</td>
<td class="numeric">-</td>
< /tr>
我需要提取以下從它的數據: Country_Name
, Capital_City
, Population
, which are 1'st
3'rd
和5'th
<td> content < /td>
在列表中,對於每個下一個國家。
怎么做? 我嘗試了很多想法,例如使用Jsoup:
public static String html2text(String html) {
return Jsoup.parse(html).text();
}
但這似乎還不夠,盡管< td> Location < /td>
在列表中的第二位或“貨幣”(在列表中相同的第四位)可能包含多個單詞。
以下代碼段使用Jsoup提取標簽( 使用Jsoup從html文件中的Extract Tags中提取 ):
public class JsoupDepthFirst {
private static String htmlTags(Document doc) {
StringBuilder sb = new StringBuilder();
htmlTags(doc.children(), sb);
return sb.toString();
}
private static void htmlTags(Elements elements, StringBuilder sb) {
for(Element el:elements) {
if(sb.length() > 0){
sb.append(",");
}
sb.append(el.nodeName());
htmlTags(el.children(), sb);
sb.append(",").append(el.nodeName());
}
}
public static void main(String... args){
String s = "<html><head>this is head </head><body>this is body</body></html>";
Document doc = Jsoup.parse(s);
System.out.println(htmlTags(doc));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.