0

このページhttp://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_National_Pok%C3%A9dex_numberからデータを収集する必要がありますが、問題は、必要なのは各ポケモンのリンクであるため、最初のポケモンについては「 / wiki / Bulbasaur_(Pok%C3%A9mon)」(その後、「bulbapedia.bulbagarden.net」を前に追加するだけですが、これらすべてを取得する方法がわかりません。いくつかの例を見てきました。しかし、私はここで私を助けるものは何も見ませんでした。私が見たものは、div内のデータを取得することによってループに使用されましたが、これらのリンクは、メインの大きなリンク以外のdivの一部ではないようです。

だから誰かが私がこのページをこする方法を知っていますか?

4

1 に答える 1

1

解決策は次のとおりです。

Document doc = Jsoup.connect("http://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_National_Pok%C3%A9dex_number").get();


for( Element element : doc.select("td > span.plainlinks > a") )
{
    /* 
     * You can do further things here - for this example we 
     * only print the absolut url of each link.
     */
    System.out.println(element.absUrl("href"));
}

これにより、各ポケモンリンクの絶対URLがすでに表示されます。

http://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pok%C3%A9mon)
http://bulbapedia.bulbagarden.net/wiki/Ivysaur_(Pok%C3%A9mon)
http://bulbapedia.bulbagarden.net/wiki/Venusaur_(Pok%C3%A9mon)
http://bulbapedia.bulbagarden.net/wiki/Charmander_(Pok%C3%A9mon)
...

ただし、相対element.absUrl("href")URLが必要な場合は、に置き換えるだけelement.attr("href")です。

結果:

/wiki/Bulbasaur_(Pok%C3%A9mon)
/wiki/Ivysaur_(Pok%C3%A9mon)
/wiki/Venusaur_(Pok%C3%A9mon)
/wiki/Charmander_(Pok%C3%A9mon)
...

この説明については、JsoupSelectorAPIを参照してください。いくつかの良い例がここにあります:JsoupCodebook

于 2012-10-22T15:27:24.230 に答える