【问题标题】:Get HTML code from dynamic page从动态页面获取 HTML 代码
【发布时间】:2017-12-08 01:23:26
【问题描述】:

我正在尝试获取以下网站的 HTML 代码。 http://fortune.com/fortune500/list/

但问题是当我们在浏览器中访问这个网站时,它只显示前 20 家公司,当我们转到网站底部时,它会加载接下来的 50 家公司。

我如何从这个网站获得前 700 家公司的 HTML 代码? 我尝试了来自该网站https://www.mkyong.com/java/how-to-get-url-content-in-java/ 的代码来获取 HTML 内容,但正如预期的那样,它只提供了前 20 家公司

非常感谢任何帮助 谢谢

【问题讨论】:

  • 以编程方式您将无法做到这一点,因为该 HTML 中涉及 Ajax 调用。该链接中的方法获取 HTML,即具有 HTML 结构的文本。
  • 谢谢。我可以解析下游的 HTML 结构,但问题是我需要从 fortune500list 网站获取更多公司列表(不是前 20 家公司)

标签: java html web-crawler


【解决方案1】:

CURLhttp://fortune.com/api/v2/list/2013055/expand/item/ranking/asc/{{start_from}}/{{num_limit}}

示例http://fortune.com/api/v2/list/2013055/expand/item/ranking/asc/1/100

网站“fortune.com”从 CURL 返回 最多 100 个 元素。

CURL 返回一个 JSON

【讨论】:

  • 谢谢。调用 api 会返回数据,但我正在尝试另一种方法来解析/抓取网站并在其中找到数据
  • 网站 fortune.com 不会在开始时加载所有数据。因此您无法恢复它们。(对不起,我的英语)
【解决方案2】:

您应该为此使用 Selenium。这是一个tutorial,关于如何将它与 StormCrawler 一起使用。如果你愿意,你也可以直接使用它。

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多