gpt4 book ai didi

Java - 如何使用 JSoup 访问 Div 的子级

转载 作者:行者123 更新时间:2023-12-02 10:21:31 88 4
gpt4 key购买 nike

在下面的示例中,我尝试访问每个“div.searchRcrd”(“content-area”的子级),但我迷失了如何访问它们。我制作了一个快速程序,试图突出我的问题,使用打印语句来显示它没有访问正确的信息。我尝试将 doc.select 更改为其他变体,例如 (“div.content-area div.searchRcrd”),但无济于事。

在发帖之前,我已经浏览了 stackoverflow,但我完全迷失在这个问题上。一如既往,我很感谢任何关于我在这方面出错的地方的建议。

public class Main 
{
// retrieve page source code
Document doc = Jsoup.connect("https://uk.webuy.com/search/?categoryIds=1040&view=list&inStock=1").get();

// find all of the div rows in content-area
org.jsoup.select.Elements rows = doc.select("div.content-area div");
ListIterator<Element> itr = rows.listIterator();

// loop over each row
while (itr.hasNext())
{
Element row = itr.next();
System.out.println("Test"); //Prints out 5 times instead of the multiple I expect

}
}

enter image description here

最佳答案

要查看需要打印 JSOUP 已加载的整个 HTML 页面的原因。您会注意到该页面在 Web 浏览器中的外观与 JSOUP 所看到的不同。看来您需要以某种方式启用 JavaScript,它将使用 Ajax 请求正确加载页面。

请查看下面的链接

  1. Page content is loaded with JavaScript and Jsoup doesn't see it

编辑:但还有更好的解决方案。您可以注意到数据是在单独的调用中加载的。例如,浏览器会执行一次额外的调用来显示您提供的页面:

https://wss2.cex.uk.webuy.io/v3/boxes?inStock=1&categoryIds=[1040]&firstRecord=1&count=50&sortBy=relevance&sortOrder=desc

尝试下载它并使用Jackson库来解析它。

关于Java - 如何使用 JSoup 访问 Div 的子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317089/

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