通过PHP从javascript计数器中提取信息

时间:2010-05-27 21:38:19

标签: php javascript parsing

我正在寻找一种通过PHP从这个网站中提取一些信息的方法:

http://www.mycitydeal.co.uk/deals/london

有一个计数器显示剩余的时间,但信息在JavaScript中。由于我真的是一个JavaScript新手,我真的不知道如何获取信息。

通常我会用“preg_match”和一些正则表达式提取信息。有人可以帮我提取信息(小时,分,秒)?

3 个答案:

答案 0 :(得分:2)

提取倒计时并不容易,因为它是纯粹使用JavaScript获取和设置的,无法使用纯PHP进行解析。您必须对JavaScript代码进行解码,并查看它为获取初始时间所做的调用。

这不是一个简单的过程,网站所有者可以立即更改。

另外,这样做会明显违反their T&C:

  

为避免疑义,不允许抓取网站(以及黑客入侵网站)。

答案 1 :(得分:1)

我不想说“不”,但在这种情况下,PHP不适合这个。 JavaScript需要运行浏览器(在这种情况下),最重要的是你可能有一个jQuery库。

PHP唯一能做的就是调用一个包含一些JavaScript(即GreaseMonkey)的浏览器,它可以尝试抓取页面中的信息。但这实际上是嵌入式JavaScript的工作。

答案 2 :(得分:1)

正如其他人所说,你通常无法从PHP访问JavaScript的东西。但是,JavaScript必须从某个地方获取数据,这就是从哪里开始的。

我在源代码中找到了这个:

<input type="hidden" id="currentTimeLeft" value="3749960"/>

这是微秒的数量,无论它是什么。

然而,这仅存在于firefox中,而不是在使用wget获取时。我发现它是重要的cookie,因此您必须请求页面一次,存储cookie然后再次访问它。