gpt4 book ai didi

java - 使用 Jsoup 进行抓取

转载 作者:行者123 更新时间:2023-12-01 15:05:30 25 4
gpt4 key购买 nike

我需要从此页面收集数据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 .

关于java - 使用 Jsoup 进行抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com