鄙人想用php采集新浪天气预报,再通过飞信把天气预报发送到自己飞信上。但是遇到了问题:
1.服务器系统是linux的,如何进行定时采集?
2.鄙人是第一次用采集,弱弱的问一下,采集.php这个页面是只有有人访问才能进行采集吗?求助各位大大回答,小的先在这里表示感谢了!另附相关代码:
<? 
/** 
* 飞信通知天气预报 
* 2009-4-23 
*/ 
//禁止执行时间限制 
set_time_limit (0); 
//设置MB编码 
mb_internal_encoding("GB2312"); 
/** 
* 采集新浪天气预报信息 

* @param string $city 城市名称 
* @return unknown 
*/ 
function getWF($city){ 
if(empty($city)) return ""; 
$wf=@file_get_contents('http://php.weather.sina.com.cn/search.php?city='.urlencode($city).'&f=1&dpc=1'); 
if (empty($wf)){ 
return ""; 

//截取相关信息 
$return = ""; 
$star=strpos($wf,"<div class=\"blk-s3\">"); 
$return = substr($wf,$star,1000); 
$end2=strpos($return,"<!-- box end-->"); 
$return = strip_tags(substr($return,0,$end2)); //过滤 
$return = str_replace(" ","",$return); 
$return = str_replace(" ","",$return); 
$return = str_replace("\t","",$return); 
$return = str_replace("\n","",$return); 
$return = str_replace("℃","度",$return); 
$return = str_replace("≤","",$return); 
$return = trim(str_replace("\r",",",$return),","); 
$return = str_replace("~","-",$return); 
$return = str_replace(":",":",$return); 
//返回值 
return $return; 

//飞信账号设置 
$Fetion['user']=''; 
$Fetion['pass']=''; 
//设置天气预报城市 
$citys[]=array('id'=>'bj','name'=>'北京'); 
$citys[]=array('id'=>'sy','name'=>'沈阳'); 
//北京手机号 
$tel['bj'][]='137XXXXXXX'; 
$tel['bj'][]='137XXXXXXX'; 
//沈阳手机号 
$tel['sy'][]='138XXXXXXXX'; 
$tel['sy'][]='137XXXXXXX'; if (is_array($citys)&&count($citys)>0){ 
//遍历城市 
foreach($citys as $city){ 
//获取采集信息 
$info=getWF($city['name']); 
if (!empty($info)){ 
if (is_array($tel[$city['id']])&&count($tel[$city['id']])>0){ 
//大信息量处理 
if (mb_strlen($info)>171){ 
$sum=ceil(mb_strlen($info)/168)-1; 
for($i=0;$i<=$sum;$i++){ 
$starj=168*$i; 
$qInfo=mb_substr($info,$starj,168); 
$n=$i+1; 
foreach($tel[$city['id']] as $val){ 
$url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天气预报[".$n."],"."明天".date("Y年m月d日")." ".$city['name']." ".$qInfo); 
@file_get_contents($url); 


}else{ 
foreach($tel[$city['id']] as $val){ 
$url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天气预报,明天".date("Y年m月d日")." ".$city['name']." ".$info); 
@file_get_contents($url); 






?>