【问题标题】:Extract information from javascript counter via PHP通过 PHP 从 javascript 计数器中提取信息
【发布时间】:2010-05-27 21:38:19
【问题描述】:

我正在寻找一种通过 PHP 从该站点提取一些信息的方法:

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

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

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

詹妮弗

【问题讨论】:

    标签: php javascript parsing


    【解决方案1】:

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

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

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

    为免生疑问,不允许对网站进行抓取(以及对网站进行黑客攻击)。

    【讨论】:

      【解决方案2】:

      我不想说“不”,但在这种情况下,PHP 不适合做这件事。 JavaScript 需要浏览器才能运行(在这种情况下),除此之外,您可能还有一个 jQuery 库。

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

      【讨论】:

        【解决方案3】:

        正如其他人所说,您通常无法从 PHP 访问 JavaScript 内容。然而 JavaScript 必须从某个地方获取数据,这就是开始的地方。

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

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

        这是直到它是什么为止的微秒数。

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

        【讨论】:

        • 不错的收获。她可以将她的代理字符串设置为 firefox,并希望得到相同的数据。
        • 好收获!没看到。
        • @webbiedave:不,我先尝试过,但没有成功;)
        猜你喜欢
        • 2015-06-09
        • 2015-08-18
        • 1970-01-01
        • 2012-07-02
        • 2012-10-31
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多