强制javascript生成的内容显示自己

时间:2011-01-31 04:17:18

标签: php javascript curl

我通过API生成一些内容,通过javascript访问,我无法在浏览器上获取明显显示,加载后的源代码。我可以突出显示文本并查看所选文本的来源(这是一个firefox功能),但我将使用CURL自动捕获数据...我如何捕获数据?有没有办法更新源(可能通过DOM更新),所以它显示了一些如何?任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

你不能只是请求一些HTML源代码并期望在不运行JS的情况下使用JS修改它的结果,所以如果你想用PHP获取内容,那么你将不得不

  1. 将HTML推送到将执行JavaScript的内容(如果我使用Perl,我可能会查看WWW::Mechanize::Firefox,它使用Mozrepl。我不知道PHP是否有类似的好处它的API)
  2. 对JavaScript进行反向工程,并尽其所能自行获取数据。

答案 1 :(得分:0)

您可以在开发者工具中使用谷歌浏览器提取页面源(右上角的扳手 - >工具 - >开发人员工具,或者控制+ Shift + I(这是一个大写的i))。开发人员工具中显示的源代码表示页面的最新源代码,包括在页面初始加载后由JavaScript动态生成的内容。

我确信其他浏览器也有类似的功能,我只是碰巧知道Chrome的方法。

答案 2 :(得分:0)

如果开发环境是Linux / Unix,你可以合并PjantonJS,这是一个非常漂亮的工具,可以执行JavaScript并传递输出。我推荐这样做的方式是使用{PhampomJS运行shell_exec()

希望这有帮助。