0

特定のタグの下にあるいくつかの要素を抽出しようとしています。それらのすぐ下にあるanおよび aで<h5>抽出したい要素がたくさんあります。私が抱えている問題は次のとおりです。a) 複数のタグがあります b) と aは の子/兄弟ではありません。たとえば、動作しません。<h6><table><h5><h6><table><h5>h5 > table

最後に取得したいのは: このサイトから: http://tcat.nextinsight.com/routes.php?mrnid=453

ルート 13 月~金、<h6>インバウンドとテーブル、およびルート 13 月~金、<h6>アウトバウンドとテーブル。

テーブル全体を取得したら、この例を使用できますJAVAを使用してhtmlページからテーブルを取得してテーブルを操作する方法

サンプル構造: (指定された URL にもあります)

<table width="890" border="0" cellspacing="3">
        <tr>
          <td colspan="20" bgcolor="#8cd2ef" class="heading"><h6>Outbound from center of Ithaca</h6></td>
        </tr>
        <br><h5>Route 13 - Saturday</h5><tr class="tableSub"><td>Green @ Commons</td>
<td>Seneca @ Commons</td>
<td>Third @ Hancock</td>
<td>Aldi</td>
<td>Lake @ Ithaca HS</td>
<td>Stewart Park</td>
<td>Shops at Ithaca Mall @ Sears</td>
</tr>
4

1 に答える 1

1

セレクター:

h5:contains(Route 13 Monday - Friday) + table

次のように使用します。

Elements tables = doc.select("h5:contains(Route 13 Monday - Friday) + table");

<h5>of contentが前にあるすべてのテーブルを取得します"Route 13 Monday - Friday"

指定した URL を使用して、動作中のスニペットを確認します。

public static void main(String[] args) throws Exception {
    Document doc = Jsoup.connect("http://tcat.nextinsight.com/routes.php?mrnid=453").get();
    System.out.println(doc.title());
    Elements tables = doc.select("h5:contains(Route 13 Monday - Friday) + table");
    for (Element table : tables) {
        System.out.println(table);
        System.out.println("#\n#\n#\n#");
    }
}
于 2013-08-17T01:24:52.327 に答える