我正在寻找一种通过PHP从这个网站中提取一些信息的方法:
http://www.mycitydeal.co.uk/deals/london
有一个计数器显示剩余的时间,但信息在JavaScript中。由于我真的是一个JavaScript新手,我真的不知道如何获取信息。
通常我会用“preg_match”和一些正则表达式提取信息。有人可以帮我提取信息(小时,分,秒)?
珍
答案 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然后再次访问它。