簡體   English   中英

用Jsoup刮

[英]Scraping with Jsoup

我需要從此頁面收集數據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之外的任何div的一部分。

那么有人知道我該如何抓取此頁面?

這是一個解決方案:

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)
...

但是,如果您需要相對 URL,則只需用element.absUrl("href")替換element.attr("href")

結果:

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

有關此內容的說明,請參見: Jsoup Selector API 在這里可以找到一些很好的例子: Jsoup Codebook

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM