所以我发现了一段很好的代码,最好是说一个理想的例子,说明可能是一个像样的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中完成这项工作。
我会喜欢一些例子,甚至是理论上的,如果这些你可以集合。
我想使用上面提到的这段代码,我在这里作为参考,让讨论在正确的道路上开始。
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
}
}
}
答案 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中删除的所有数据。