如何从特定站点JSOUP中抓取表数据



我正试图从这个网站上的表中抓取一些数据:https://www.worldometers.info/coronavirus/

这是我尝试过的scraper的源代码

public static void main(String[] args) throws Exception {
String url = "https://www.worldometers.info/coronavirus/";
try{
Document doc = Jsoup.connect(url).get();
Element table = doc.getElementById("main_table_countries_today");
Elements rows = table.getElementsByTag("tr");
for(Element row : rows){
Elements tds = row.getElementsByTag("td");
for(int i = 0;i<tds.size();i++){
System.out.println(tds.get(i).text());
}
}
}catch (IOException e){
e.printStackTrace();
}
}

这是输出中国80928+343245+8704207263227456意大利35713。。。。

我只想搜集一个特定国家的数据。法国但我不知道怎么做。

您必须首先询问每个"td"是否包含"France",然后才能打印该行。

public static void main(String[] args) throws Exception {
String url = "https://www.worldometers.info/coronavirus/";
try{
Document doc = Jsoup.connect(url).get();
Element table = doc.getElementById("main_table_countries_today");
Elements rows = table.getElementsByTag("tr");
for(Element row : rows){
Elements tds = row.getElementsByTag("td");
for(int i = 0;i<tds.size();i++){
if(tds.get(i).text().equals("France")){
System.out.println(row.text());
}
}
}
}catch (IOException e){
e.printStackTrace();
}

输出:

France 14,459 562 1,587 12,310 1,525 222

最新更新