PHP抓取ajax填充的HTML源代码

时间:2011-02-21 10:59:16

标签: php ajax

我购买了一个脚本,用PHP在HTML页面上抓取一些信息(在HTML源代码上使用正则表达式),当页面只有HTML时,它可以正常工作。但是,Ajax / Javascript填充了一些信息,抓取无法获取该信息(仅返回空白)。

这是我需要抓取的示例HTML源代码,{d10} {d1}等是时间戳。当我抓住源代码时,它没有被实例化:

layout: '<p><span>Time Remaining</span><br><strong>{d10}{d1} : {h10}{h1} : {m10}{m1} : {s10}{s1}</strong><br><span>Days &nbsp; &nbsp;Hours  &nbsp; Mins  &nbsp; &nbsp; Sec</span>

调用获取HTML源代码的函数是:

getContents($URL)

有没有其他方法可以从已经提供了所有AJAX值的URL获取HTML源代码?我读到了“CURL()”,是否会让我获得已经由AJAX填充的值的HTML源代码?

谢谢

2 个答案:

答案 0 :(得分:0)

你需要一个可以为其渲染javascript的刮刀,但不确定是否有。我确定垃圾邮件将在一个全新的水平,如果他们可以有机器人刮js。

答案 1 :(得分:0)

从技术上讲,它是可行的。您将不得不从请求xmlhttprequest数据的js代码中解析出url。然后你可以使用php中的curl调用这个url并解析数据。挑战将是了解如何在js中实现onload事件以及它们在哪些DOM节点上执行。

如果你可以确定ajax url的url结构(假设有一个),那么你可以从相应的DOM元素请求数据选择url params。