Php运行时间永远和Web解析器

时间:2012-02-02 10:52:07

标签: php

所以我发现了一段很好的代码,最好是说一个理想的例子,说明可能是一个像样的Web解析的代码。 我记得,当我自己进入这个问题一段时间后,我无法让脚本运行无限时间跨度,事实上我不能让它运行超过几个小时。

这是在我设置以下内容之后:

    set_time_limit(0);
    ini_set("memory_limit", "800M");
// in some case i would set them both in others, just one or the other

我一直在阅读如何让PHP运行更长的时间跨度,确切地说是无限延伸。 我找到了许多关于cron job而不是PHP的建议,但我想找到一种方法在php中完成这项工作。

我会喜欢一些例子,甚至是理论上的,如果这些你可以集合。

我想使用上面提到的这段代码,我在这里作为参考,让讨论在正确的道路上开始。

How to write a crawler?

  while(list of unvisited URLs is not empty) {
     take URL from list
     fetch content
     record whatever it is you want to about the content
     if content is HTML {
     parse out URLs from links
     foreach URL {
        if it matches your rules
          and it's not already in either the visited or unvisited list
          add it to the unvisited list
     }
   }
 }

1 个答案:

答案 0 :(得分:1)

使用 cronjobs WITH php 而不是。

您可以在Linux服务器上将PHP脚本作为cron运行,如下所示:

<time/frequency> <path to PHP> <php script full path>

e.g。这将每分钟运行......

* * * * * /usr/bin/php -q /var/www/html/cron/parser.php

或者在Windows上,您可以使用任务计划程序运行脚本,该脚本位于控制面板中,位于Windows 7上,位于控制面板中的“管理工具”中。

我已经使用PHP,MySQL,Curl和crons的组合来无限期地运行Web应用程序,直到它解析了我想要从URL中删除的所有数据。