我一直在和JSoup一起工作和测试一段时间,这个问题已经让我感到困扰了一段时间。
http://fx.sauder.ubc.ca/today.html
目前这个类假定从这个网站的表中提取信息,这个程序可以从表中提取的唯一内容是
Code | Currency | fcu/CAD | fcu/USD | Code | Currency | fcu/CAD | fcu/USD
以及网站上显示的所有3个字母代码,但对于所有其他信息(如值和美元名称),程序将这些显示为null。如果有人想知道px上升到34并且ay上升到16,因为这是我将从中提取的表的大小。
public String CountryHandler2(int px, int ay) throws IOException{
String url = "http://fx.sauder.ubc.ca/today.html";
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select("body > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child("+px+") > td:nth-child("+ay+") > font:nth-child(1) > b:nth-child(1)");
System.out.println("Paragraphs " + paragraphs.text());
if(paragraphs.hasText()){
return paragraphs.text();
}
return null;
}
答案 0 :(得分:0)
我尝试了这个并且能够提取表格数据。可能是你这样试试。
public static void main (String [] args) throws IOException{
Document doc = Jsoup.connect("http://fx.sauder.ubc.ca/today.html").get();
Element table = doc.select("table").get(2); //get the 3rd table
Elements trs = table.select("tr"); //get each row of that table
for (Element e: trs){
System.out.println(e.text());
}
}