如何获取由 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 加载的网页内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Selenium/Python 获取由 JavaScript 编写的 html 内容 [重复]
如何获取由javascript设置的网页的隐藏InnerHtml?