0

特定のクラス名の下にあるページのすべてのリンクをスクレイピング/収集したい

例: HTML 農業 (92)

<a href="http://www.specificurl/page.html" class="generate">Agriculture</a>

私は次のコードをいじっています:

   List<?> links = page.getByXPath("//div[@class='generate']/@href");

   OR
 List<?> links = page.getAnchors();
    System.out.println(links);

getByXPath オプションは null を返し、他のオプションはすべてのアンカーを取得します。リンクをリストに取り込む方法はありますか?

4

1 に答える 1

0

これはひどいXPathですが、それを絞り込むのに問題がありました。(必要に応じてより良いXPathを調べることができますが、今のところこれは機能しました:

List<?> links = page.getByXPath("/html/body/div[2]/div[2]/table/tbody/tr/td/table/tbody/tr[7]/td/table/tbody/tr/td/div/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr/td/ul/li/a/@href").asList()

そのクラス名で取得できなかった理由はよくわかりません。

機会があれば教えてください

于 2011-02-22T23:56:32.677 に答える