gpt4 book ai didi

java - 如何加载无限滚动(延迟加载)中的所有条目以解析 Java 中的 HTML

转载 作者:行者123 更新时间:2023-12-02 00:04:54 24 4
gpt4 key购买 nike

我在使用 Jsoup 抓取使用延迟加载的网站时遇到问题,Jsoup 无法访问足够的我需要的内容。有什么办法可以解决吗?

我正在使用 selenium 和 FirefoxDriver 来获取,但这还不够

System.setProperty("webdriver.gecko.driver", "C:\\Users\\ADMIN\\Downloads\\Compressed\\geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver();
driver.get(URL);

最佳答案

大多数情况下,您使用的“延迟加载”短语听起来像是网站正在向服务器发出 AJAX 调用以检索浏览器中显示的内容。我已经做了很多网页解析 - 但实际上执行 Java 脚本(就像浏览器一样)还不是我可以用我的代码做的事情。我读了很多有关 Selenium 的文章,但我还没有使用过它。

您的评论部分中的一条评论询问了您正在抓取的网站的 URL...如果您要手动查看页面 HTML,则可能会识别出以下 JavaScript 方法的名称:被调用,然后在 Java 中使用这些方法来调用服务器并自己获取内容...

这确实是我所读到的 Selenium WebDriver 应该使用“ headless 浏览器”自动执行的操作(在 DOM 上本地执行 Java 脚本)。但我通过查找 JavaScript 方法名称、制作一个 2 行 Java 程序来调用服务器本身,然后自己解析 HTML 或 JSON 来执行我需要执行的任何操作,从而抓取了许多网站内容...

关于java - 如何加载无限滚动(延迟加载)中的所有条目以解析 Java 中的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58161153/

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