gpt4 book ai didi

java - HtmlUnit - 抓取数据

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

如何使用 HtmlUnit 将包含 javascript 的页面提取为 HTML?我找到了如下示例代码,但不起作用。

public class Downloader {

public static void main(String[] args) throws Exception {
LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");

java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);

try (final WebClient webClient = new WebClient()) {
final HtmlPage page = webClient.getPage("https://www.oddsportal.com/matches/soccer/");
System.out.println(page.asText());
}
System.out.println("END");
}
}

使用这段代码,我陷入了无限循环。我不知道为什么。如果我在 Firefox 检查器中打开上述站点,我可以在执行 javascript 后看到完整的 HTML 代码。我如何使用 HtmlUnit 达到相同的结果。有可能的?也许我应该使用其他库?有什么建议吗?

最佳答案

HtmlUnit 在解释 javascript 时往往会遇到很多问题。如果您只是寻找游戏数据,否则您可能会更成功: https://github.com/gingeleski/odds-portal-scraper

无论如何,我设法让代码与更改浏览器版本一起工作:最终 WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)

关于java - HtmlUnit - 抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58031401/

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