因为web服务器有运行时间限制,所以只要采集执行时间太长都会导致程序中断,需要修改web服务器的超时时间
IIS服务器
桌面>计算机>右键>管理>服务和应用程序>IIS>根目录>FastCGI 设置>双击"php-cgi.exe">活动超时

蓝天采集器    采集器自动停止

apache服务器:
apache目录confextrahttpd-default.conf,修改Timeout

nginx服务器:
nginx目录conf ginx.conf,修改 fastcgi_connect_timeout

修改以上的参数值可让采集不再中断,修改完后记得重启服务器!
其他服务器请自行百度
如果你是虚拟主机无法修改配置,唯一方法就是设置采集数量,每次不要采集太多,一般web服务器运行时间为30秒,尽量不要超时!

网页自刷新执行采集,可以做到无人值守一直抓取。
代码大概如下:设置的2分钟采集间隔,下面代码设置的125秒刷新一次。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="125">


<div id='numDiv'>...</div>
<script src="http://www.xxx.cn/caiji/index.php?s=/admin/Task/collect&id=3"></script>
<script type="text/javascript">
var num=125;
var interval=setInterval(function(){
if(num==0){
clearInterval(interval);
}
numDiv.innerHTML=num--;
numDiv.innerHTML=numDiv.innerHTML+"秒后刷新本页面";
},1000);
</script>
</body>
相关文章