2017-08-12 144 views
1
特定HTML源的值

我所試圖做的是提取所有的貨幣值,並且從this website他們的名字。並將它們存儲在兩個不同的陣列中。提取使用Jsoup

我發現的唯一的事情,涉及到我的問題是這樣的代碼:

public static void main(String[] args) throws IOException { 
    String url = ""; 
    Document doc = Jsoup.connect(url).get(); 
    Element content = doc.select("").first(); 
} 

但我有一個很難把它在一個for循環,爲了使程序找到所有的價值和自己的名字,並找到合適的元素,它出現在doc.select(element)部分,因爲我真的不知道HTML。

所以,我正在尋找的是這樣的:

兩種不同的方法,一個發現幣值,以及一個發現它的名字,而且這兩種方法把它們的值權陣英寸

最重要的是找到正確的元素,因爲我自己可以做休息。我如何找到正確的元素來提取值?

回答

0

您可以使用Jsoup提取從網站提供的所有預期數據。首先,你需要選擇使用以下的選擇所有錶行:

table.ratesTable > tbody > tr 

接下來你有每一行選擇td元素(每排有3個表格單元格),你可以分配從這些細胞中的值,以任何你想要的變量。你的代碼可能看起來像這樣的:

Document doc = Jsoup.connect("http://www.x-rates.com/table/?from=USD&amount=1").get(); 

Elements rows = doc.select("table.ratesTable > tbody > tr"); 

for (Element row : rows) { 
    Elements tds = row.select("td"); 

    String currency = tds.get(0).text(); 
    Double rate1 = Double.valueOf(tds.get(1).text()); 
    Double rate2 = Double.valueOf(tds.get(2).text()); 

    System.out.printf("Currency: %s, rate1: %s, rate2: %s%n", currency, rate1, rate2); 
} 

這個程序產生以下控制檯輸出:

Currency: Euro, rate1: 0.845569, rate2: 1.182635 
Currency: British Pound, rate1: 0.768631, rate2: 1.301014 
Currency: Indian Rupee, rate1: 64.134227, rate2: 0.015592 
Currency: Australian Dollar, rate1: 1.266043, rate2: 0.789863 
Currency: Canadian Dollar, rate1: 1.267137, rate2: 0.789181 
Currency: Singapore Dollar, rate1: 1.360245, rate2: 0.735162 
Currency: Swiss Franc, rate1: 0.96141, rate2: 1.040139 
Currency: Malaysian Ringgit, rate1: 4.298091, rate2: 0.232661 
Currency: Japanese Yen, rate1: 109.110914, rate2: 0.009165 
Currency: Chinese Yuan Renminbi, rate1: 6.661812, rate2: 0.150109 
Currency: Argentine Peso, rate1: 17.74499, rate2: 0.056354 
Currency: Australian Dollar, rate1: 1.266043, rate2: 0.789863 
Currency: Bahraini Dinar, rate1: 0.377148, rate2: 2.651478 
Currency: Botswana Pula, rate1: 10.354673, rate2: 0.096575 
Currency: Brazilian Real, rate1: 3.194036, rate2: 0.313084 
Currency: Bruneian Dollar, rate1: 1.360245, rate2: 0.735162 
Currency: Bulgarian Lev, rate1: 1.662835, rate2: 0.601383 
Currency: Canadian Dollar, rate1: 1.267137, rate2: 0.789181 
Currency: Chilean Peso, rate1: 646.170017, rate2: 0.001548 
Currency: Chinese Yuan Renminbi, rate1: 6.661812, rate2: 0.150109 
Currency: Colombian Peso, rate1: 2973.600291, rate2: 3.36E-4 
Currency: Croatian Kuna, rate1: 6.248125, rate2: 0.160048 
Currency: Czech Koruna, rate1: 22.130355, rate2: 0.045187 
Currency: Danish Krone, rate1: 6.332396, rate2: 0.157918 
Currency: Euro, rate1: 0.845569, rate2: 1.182635 
Currency: Hong Kong Dollar, rate1: 7.8192, rate2: 0.12789 
Currency: Hungarian Forint, rate1: 257.81906, rate2: 0.003879 
Currency: Icelandic Krona, rate1: 105.635027, rate2: 0.009467 
Currency: Indian Rupee, rate1: 64.134227, rate2: 0.015592 
Currency: Indonesian Rupiah, rate1: 13357.499908, rate2: 7.5E-5 
Currency: Iranian Rial, rate1: 32849.5, rate2: 3.0E-5 
Currency: Israeli Shekel, rate1: 3.586513, rate2: 0.278822 
Currency: Japanese Yen, rate1: 109.110914, rate2: 0.009165 
Currency: Kazakhstani Tenge, rate1: 332.672501, rate2: 0.003006 
Currency: South Korean Won, rate1: 1143.773759, rate2: 8.74E-4 
Currency: Kuwaiti Dinar, rate1: 0.302319, rate2: 3.307765 
Currency: Libyan Dinar, rate1: 1.37005, rate2: 0.7299 
Currency: Malaysian Ringgit, rate1: 4.298091, rate2: 0.232661 
Currency: Mauritian Rupee, rate1: 33.552148, rate2: 0.029804 
Currency: Mexican Peso, rate1: 17.835986, rate2: 0.056066 
Currency: Nepalese Rupee, rate1: 102.352456, rate2: 0.00977 
Currency: New Zealand Dollar, rate1: 1.366238, rate2: 0.731937 
Currency: Norwegian Krone, rate1: 7.93064, rate2: 0.126093 
Currency: Omani Rial, rate1: 0.384499, rate2: 2.600784 
Currency: Pakistani Rupee, rate1: 105.360213, rate2: 0.009491 
Currency: Philippine Peso, rate1: 51.055889, rate2: 0.019586 
Currency: Polish Zloty, rate1: 3.627166, rate2: 0.275697 
Currency: Qatari Riyal, rate1: 3.642217, rate2: 0.274558 
Currency: Romanian New Leu, rate1: 3.871704, rate2: 0.258284 
Currency: Russian Ruble, rate1: 59.885203, rate2: 0.016699 
Currency: Saudi Arabian Riyal, rate1: 3.751954, rate2: 0.266528 
Currency: Singapore Dollar, rate1: 1.360245, rate2: 0.735162 
Currency: South African Rand, rate1: 13.467078, rate2: 0.074255 
Currency: Sri Lankan Rupee, rate1: 153.070914, rate2: 0.006533 
Currency: Swedish Krona, rate1: 8.140123, rate2: 0.122848 
Currency: Swiss Franc, rate1: 0.96141, rate2: 1.040139 
Currency: Taiwan New Dollar, rate1: 30.365433, rate2: 0.032932 
Currency: Thai Baht, rate1: 33.201131, rate2: 0.030119 
Currency: Trinidadian Dollar, rate1: 6.7275, rate2: 0.148644 
Currency: Turkish Lira, rate1: 3.539571, rate2: 0.28252 
Currency: Emirati Dirham, rate1: 3.674458, rate2: 0.272149 
Currency: British Pound, rate1: 0.768631, rate2: 1.301014 
Currency: Venezuelan Bolivar, rate1: 9.977002, rate2: 0.100231 

我希望它能幫助。

+0

這是完美的! @SzymonStepniak非常感謝你! –

+0

@OmerHen酷,我很高興我可以幫你:) –