用于状态更改监视的php循环

用于状态更改监视的php循环,php,buffer,Php,Buffer,我使用PHPDOM从网页中提取数据,然后当我得到所需的信息时,我从下一页提取链接,并将代码指向该页,等等 我正在通过这个监控一些变化 一切都很好,直到我流动缓冲区,因为它认为php卡在一个循环中,破坏了代码。我知道我可以增加超时,但我想知道是否有人知道更好的方法来构造此代码,请告诉我 这是一个基本的流程图 获取第一个网页的地址 进行数据提取 从页面内获取下一页地址 使用标题重定向到该页面 转到步骤1。除非没有下一页,否则请停止 因此,大多数情况下,我都会在这个循环终止php之前经历8-12次。我

我使用PHPDOM从网页中提取数据,然后当我得到所需的信息时,我从下一页提取链接,并将代码指向该页,等等

我正在通过这个监控一些变化

一切都很好,直到我流动缓冲区,因为它认为php卡在一个循环中,破坏了代码。我知道我可以增加超时,但我想知道是否有人知道更好的方法来构造此代码,请告诉我

这是一个基本的流程图

  • 获取第一个网页的地址
  • 进行数据提取
  • 从页面内获取下一页地址
  • 使用标题重定向到该页面
  • 转到步骤1。除非没有下一页,否则请停止

  • 因此,大多数情况下,我都会在这个循环终止php之前经历8-12次。我需要一直这样做,直到我完成流程图。无论如何,我可以在进入下一页之前清空缓冲区。顺便说一句,如果您真的想使用php作为脚本,那么整个过程都在一个代码“data.php

    中。您应该现在就运行它。我不确定您是否真的在等待提取的数据查看(实时)或只是将数据保存到某个地方供以后使用,但有几种解决方案

    如果您只想运行一次脚本,或者只想在任何时候手动运行脚本,请确保在unix或windows中安装了php

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

    我相信你不需要解释^^

    如果您需要输入或显示一些输出等,则有一些

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

    您可以将提取任务排队,并让它不时由cronjob在Web服务器上运行。当cronjob运行脚本并提取所有数据时,您的数据可供查看

    例如,您还可以告诉cronjob每小时执行一次,并保存提取的数据以供查看


    或者你可以用Ajax创建一个异步调用,你仍然需要等待并停留在页面上。但至少你的浏览器没有被卡住。

    尝试创建你自己的p*RN过滤器,是吗?查找php长时间运行的任务。但实际上,对于这类事情,php是一个糟糕的选择。最好选择一种内置线程和事件的语言。@TimDinh哈哈,不错!但是no@user574632是的,我也这么认为。我对任何语言都不太熟悉,有什么建议吗?!这是我个人的选择。我会选择C#因为我熟悉它,但大多数现代语言都支持这些东西。