用于状态变化监控的php循环

时间:2014-02-05 14:42:01

标签: php buffer

我正在使用PHP DOM从网页中提取数据,然后当我得到我需要的信息时,我从下一页提取链接并将代码指向该页面,依此类推。

我正在通过此监控一些变化。

一切都很棒,直到我流动缓冲区,因为它认为php陷入循环并破坏了代码。我知道我可以暂停超时,但我想知道是否有人知道更好的方法来构建这个代码请告诉我。

这是一个基本流程图

  1. 获取第一个网页的地址
  2. 进行数据提取
  3. 从页面中获取下一页地址
  4. 使用标头重定向到该页面
  5. 转到第1步。除非没有下一页,否则请停止
  6. 所以大部分时间我在杀死php之前经历了这个循环8-12次。我需要继续这样做,直到我完成流程图。无论如何,我可以在转到下一页之前清空缓冲区。顺便说一句,这一切都在一个代码“data.php

1 个答案:

答案 0 :(得分:0)

如果你真的想用PHP作为你的脚本。您应该将其作为CLI (Command Line Interface).运行现在我不确定您是否实际等待提取的数据进行查看(实时),或者只是将数据保存到某个地方供以后使用,但有几种解决方案。

如果您只想一次运行脚本,或者只是想要手动运行。确保你的unix或windows中安装了php。

Windows:在您的PATH系统变量中设置您的php目录,然后您可以在命令窗口中运行php myscript.php

Unix:我确定你不需要解释^^

如果您需要输入或显示某些输出等,有一些PHP CLI features

如果你真的想要某种类型的网页,你可以按下按钮,你的提取将开始,你想看到数据,那么你可以做一些事情来保持你的浏览器正常工作。

您可以对提取任务进行排队,然后让它在网络服务器上由cronjob运行。当cronjob运行脚本并提取所有数据时,您可以查看数据。

您也可以告诉cronjob每小时执行此操作,并保存提取的数据以供查看。

或者您可以使用Ajax (jquery example)创建异步调用,您仍然需要等待并保持在页面上。但至少你的浏览器没有卡住。