如何获取由 JavaScript 使用 cURL 加载的网页内容?

Posted

技术标签:

【中文标题】如何获取由 JavaScript 使用 cURL 加载的网页内容?【英文标题】:How to get webcontent that is loaded by JavaScript using cURL? 【发布时间】:2013-12-31 11:46:24 【问题描述】:

我正在尝试从网站上获取分数表。问题是该站点正在使用显然加载在document.ready 上的javascript

因此,我似乎没有成功获得表格,我得到的只是该页面顶部的按钮。

关于如何解决这个问题的任何建议或想法?

【问题讨论】:

你试过 file_get_contents 吗?? 试试这个:***.com/a/28506533/3063226 【参考方案1】:

cURL 只会让您获得页面的标记。它不会加载任何额外的资源或处理页面。您可能想为此查看PhantomJS 之类的内容。 PhantomJS 是一个无头 WebKit 浏览器。它有自己的 API,可让您“编写”行为。所以你可以告诉 PhantomJS 加载页面并转储出你需要的数据。

【讨论】:

感谢您的回答。我需要将它作为 JavaScript 运行,然后使用 exec 命令将转储保存到 php 变量中。对吗? 实际上,您不必这样做。您可以直接从命令行运行它。但是,如果您使用它在网站上显示它,那么是的,您可以使用 PHP 中的exec【参考方案2】:

根据您要执行的操作,您可以只获取构成表格的 JSON 数据:

http://www.opap.gr/web/services/rs/betting/availableBetGames/sport/program/4100/0/sport-1.json?localeId=el_GR

【讨论】:

感谢您的回答。我会将 Vivins 的答案标记为我的问题的答案,但你的答案也非常好。我想知道你是怎么找到 json 调用的? @m33ts4k0z:没问题。我通过使用 Chrome 开发者工具的“网络”选项卡找到了它(在其他浏览器中也是如此)。由于涉及document.ready,我猜测该页面可能在外部加载了信息。 @PradeepKumarPrabaharan 3 年后大声笑

以上是关于如何获取由 JavaScript 使用 cURL 加载的网页内容?的主要内容,如果未能解决你的问题,请参考以下文章

将 curl GET 转换为 javascript 获取

如何使用 Selenium/Python 获取由 JavaScript 编写的 html 内容 [重复]

如何获取由javascript设置的网页的隐藏InnerHtml?

如何获取由 Javascript 使用 Java / Webdriver 生成的网页的整个源 html 代码?

如何使用curl获取网页内容

如何将 instagram curl 发布请求转换为 javascript 请求?