JSoupを使用して特定の値を取得するにはどうすればよいですか?

クリス

キーワードの後に​​特定の値を取得するためにHTMLテキストを解析しようとしています。以下のコードの例:

<table>

    <tr>
        <td class="odd">TW-Central</td>
        <td class="odd">$3.8600</td>
        <td class="odd">$3.8600</td>
        <td class="odd">$3.8600</td>
        <td class="odd red">-0.0168</td>
        <td class="odd right">42,500</td>
        <td class="odd right">7</td>
    </tr>



    <tr>
        <td class="even">Waha</td>
        <td class="even">$3.9600</td>
        <td class="even">$3.8800</td>
        <td class="even">$3.9196</td>
        <td class="even red">-0.0436</td>
        <td class="even right">69,500</td>
        <td class="even right">17</td>
    </tr>



    <tr>
        <td class="odd">White River Hub</td>
        <td class="odd">$3.8200</td>
        <td class="odd">$3.7975</td>
        <td class="odd">$3.8088</td>
        <td class="odd red">-0.0184</td>
        <td class="odd right">81,200</td>
        <td class="odd right">13</td>
    </tr>

</table>

キーワードWahaが見つかった後、その下の価格を取得して返すにはどうすればよいですか?どんな助けでも大歓迎です。また、STSを使用してJavaでこれをコーディングしています。これを実現するのにJSoupが最適でない場合は、何を使用するかについてのアドバイスも大歓迎です。ありがとう!

サンドロズビンデン

テーブルの位置が変更されない場合は、すべてのtd要素を取得してから、get(index)メソッドを使用して必要な要素を選択します。

    StringBuilder html = new StringBuilder();
    html.append("  <table>");
    html.append("    <tr>");
    html.append("     <td class=\"even\">Waha</td>");
    html.append("     <td class=\"even\">$3.9600</td>");
    html.append("     <td class=\"even\">$3.8800</td>");
    html.append("    </tr>");
    html.append("  </table>");

    Document document = Jsoup.parse(html.toString());
    Elements tdElements = document.select("td");
    String waha = tdElements.get(0).text();
    String firstPrice = tdElements.get(1).text();
    String secondPrice = tdElements.get(2).text();

    System.out.println("The first td content is: " + waha);
    System.out.println("The second td content (firstPrice) is: " + firstPrice);
    System.out.println("The third td content (secondPrice) is: " + secondPrice);

更新:

動的に選択するには、次のコードを使用します。

@Test
public void testJSOUP() {
    StringBuilder html = new StringBuilder();
    html.append("  <table>");
    html.append("    <tr>");
    html.append("     <td class=\"odd\">TW-Central</td>");
    html.append("     <td class=\"odd\">$3.9600</td>");
    html.append("     <td class=\"odd\">$3.8800</td>");
    html.append("    </tr>");
    html.append("    <tr>");
    html.append("     <td class=\"even\">Waha Row</td>");
    html.append("     <td class=\"even\">$4.9600</td>");
    html.append("     <td class=\"even\">$5.8800</td>");
    html.append("    </tr>");
    html.append("    <tr>");
    html.append("     <td class=\"odd\">White River Hub</</td>");
    html.append("     <td class=\"odd\">$4.9600</td>");
    html.append("     <td class=\"odd\">$5.8800</td>");
    html.append("    </tr>");
    html.append("  </table>");

    Document document = Jsoup.parse(html.toString());
    Elements trElements = document.select("tr");
    for (Element tableRows : trElements) {
        Elements tdElements = tableRows.select("td");
        String articleName = tdElements.get(0).text();
        String firstPrice = tdElements.get(1).text();
        String secondPrice = tdElements.get(2).text();

        System.out.println("The article: " + articleName + "has price one:" + firstPrice + " and price two:" + secondPrice);
    }
}

これにより、次の出力が作成されます

記事:TW-Centralhasの価格1:$ 3.9600、価格2:$ 3.8800
記事:Waha Rowhasの価格1:$ 4.9600、価格2:$ 5.8800
記事:White River Hubhasの価格1:$ 4.9600、価格2:$ 5.8800

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swift 4を使用してJSONから特定の値を取得するにはどうすればよいですか?

分類Dev

phpを使用してxmlで特定の値を取得するにはどうすればよいですか?

分類Dev

Jsoupを使用してこのテキストを取得するにはどうすればよいですか?

分類Dev

Jsoupを使用してHTMLからデータを取得するにはどうすればよいですか?

分類Dev

JSoupを使用してタグで要素を取得するにはどうすればよいですか?-java

分類Dev

SequelizeとSQLiteでgroupbyを使用しているときに、特定の値に等しい行数を取得するにはどうすればよいですか?

分類Dev

JDBCを使用してmySQLから特定の列を取得するにはどうすればよいですか?

分類Dev

Joda-Timeを使用して、特定の月の日数を取得するにはどうすればよいですか?

分類Dev

javascriptを使用してURLの特定の部分を取得するにはどうすればよいですか?

分類Dev

jQueryとJavaScriptを使用してURLの特定の部分を取得するにはどうすればよいですか?

分類Dev

\ N {}で使用できるすべての値を取得して、特定のコードポイントを生成するにはどうすればよいですか?

分類Dev

Golangを使用してFirebaseで特定の値を検索するにはどうすればよいですか?

分類Dev

角度を使用して特定の条件で配列値を更新するにはどうすればよいですか

分類Dev

foreachを使用してこれらの配列値を取得するにはどうすればよいですか?

分類Dev

Html Agility Packを使用して、属性値に特定の文字列を含むすべてのHTMLタグを取得するにはどうすればよいですか?

分類Dev

現在の日時を使用して特定の値を表示するにはどうすればよいですか?

分類Dev

DCを使用して数値の違いを取得するにはどうすればよいですか?

分類Dev

javascriptを使用してJSPからitemLabelの値を取得するにはどうすればよいですか?

分類Dev

PHPを使用してMongoDBから単一の値を取得するにはどうすればよいですか?

分類Dev

Djangoを使用してJavascriptから変数の値を取得するにはどうすればよいですか?

分類Dev

momentjsを使用して特定の日付形式を取得するにはどうすればよいですか?

分類Dev

jqueryを使用して特定の要素を取得するにはどうすればよいですか?

分類Dev

jsonpath + Pythonを使用して特定の要素を取得するにはどうすればよいですか?

分類Dev

numpyでones()を使用して数値の配列を取得するにはどうすればよいですか?

分類Dev

CSVの特定の値を取得し、csvparserを使用してそれらをJSONに追加するにはどうすればよいですか?

分類Dev

Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

分類Dev

Zapierを使用してJSON配列の最初の値を取得するにはどうすればよいですか?

分類Dev

Spark SQLを使用してMapTypesのArrayTypeの最大値を取得するにはどうすればよいですか?

分類Dev

Flutter / Dartを使用してFirebaseDatabaseの値のキーを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Swift 4を使用してJSONから特定の値を取得するにはどうすればよいですか?

  2. 2

    phpを使用してxmlで特定の値を取得するにはどうすればよいですか?

  3. 3

    Jsoupを使用してこのテキストを取得するにはどうすればよいですか?

  4. 4

    Jsoupを使用してHTMLからデータを取得するにはどうすればよいですか?

  5. 5

    JSoupを使用してタグで要素を取得するにはどうすればよいですか?-java

  6. 6

    SequelizeとSQLiteでgroupbyを使用しているときに、特定の値に等しい行数を取得するにはどうすればよいですか?

  7. 7

    JDBCを使用してmySQLから特定の列を取得するにはどうすればよいですか?

  8. 8

    Joda-Timeを使用して、特定の月の日数を取得するにはどうすればよいですか?

  9. 9

    javascriptを使用してURLの特定の部分を取得するにはどうすればよいですか?

  10. 10

    jQueryとJavaScriptを使用してURLの特定の部分を取得するにはどうすればよいですか?

  11. 11

    \ N {}で使用できるすべての値を取得して、特定のコードポイントを生成するにはどうすればよいですか?

  12. 12

    Golangを使用してFirebaseで特定の値を検索するにはどうすればよいですか?

  13. 13

    角度を使用して特定の条件で配列値を更新するにはどうすればよいですか

  14. 14

    foreachを使用してこれらの配列値を取得するにはどうすればよいですか?

  15. 15

    Html Agility Packを使用して、属性値に特定の文字列を含むすべてのHTMLタグを取得するにはどうすればよいですか?

  16. 16

    現在の日時を使用して特定の値を表示するにはどうすればよいですか?

  17. 17

    DCを使用して数値の違いを取得するにはどうすればよいですか?

  18. 18

    javascriptを使用してJSPからitemLabelの値を取得するにはどうすればよいですか?

  19. 19

    PHPを使用してMongoDBから単一の値を取得するにはどうすればよいですか?

  20. 20

    Djangoを使用してJavascriptから変数の値を取得するにはどうすればよいですか?

  21. 21

    momentjsを使用して特定の日付形式を取得するにはどうすればよいですか?

  22. 22

    jqueryを使用して特定の要素を取得するにはどうすればよいですか?

  23. 23

    jsonpath + Pythonを使用して特定の要素を取得するにはどうすればよいですか?

  24. 24

    numpyでones()を使用して数値の配列を取得するにはどうすればよいですか?

  25. 25

    CSVの特定の値を取得し、csvparserを使用してそれらをJSONに追加するにはどうすればよいですか?

  26. 26

    Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

  27. 27

    Zapierを使用してJSON配列の最初の値を取得するにはどうすればよいですか?

  28. 28

    Spark SQLを使用してMapTypesのArrayTypeの最大値を取得するにはどうすればよいですか?

  29. 29

    Flutter / Dartを使用してFirebaseDatabaseの値のキーを取得するにはどうすればよいですか?

ホットタグ

アーカイブ