利用飞信免费每天给你发天气预报

实现的原理:
1.用php语言查询天气预报的网站(www.weather.com.cn), 获得数据后调用飞信的api( http://sms.api.bz/fetion.php)  , 再用飞信的帐号密码将查询的信息发到手机,因为用飞信好友之间发短信是免费的。
2.再使用linux下的计划crontab 实现fetion 每天定时发送天气预报
####################################
<?php
$id = "101110101";//修改成自己的城市
$file = file_get_contents("http://www.weather.com.cn/html/weather/{$id}.shtml");//读取远程数据
preg_match_all("/<!--day 1-->(.*?)<div class=\"weatherYubao\" id=\"weatherYubao2\">/is",$file,$main_content);//取有价值的部分
$main_content = $main_content[0][0];//明天数据
preg_match_all("/<!--day 2-->(.*?)<!--day 3-->/is",$main_content,$day2);
$day2 = $day2[0][0];//print_r($day2);
$start = '<td width="15%" rowspan="2" class="t0" style="background:#f4f7fc;">';
$end = '<\/td>';
preg_match_all("/".$start."(.*?)".$end."/is",$day2,$tomorrow);
$tomorrow = trim(strip_tags($tomorrow[1][0]));//日期
$start2 = '<td width="15%">';
$end2 = '<\/td>';
preg_match_all("/".$start2."(.*?)".$end2."/is",$day2,$bttq2);
$bttq2 = $bttq2[0];
$start4 = '<td width="18%">';
$end4 = '<\/td>';
preg_match_all("/".$start4."(.*?)".$end4."/is",$day2,$tmp2);
$tmp2 = $tmp2[1][0];
$bttq2[3] = $tmp2;
foreach($bttq2 as &$value){
$value = trim(strip_tags($value));
}
$start3 = '<td>';
$end3 = '<\/td>';
preg_match_all("/".$start3."(.*?)".$end3."/is",$day2,$wstq2);
$wstq2 = $wstq2[0];
foreach($wstq2 as &$value){
$value = trim(strip_tags($value));
}
$str2 = "  ".$tomorrow." 白天:".$bttq2[3].",".$bttq2[0].",".$bttq2[1].",".$bttq2[2]." 夜间:".$wstq2[1].",".$wstq2[2].",".$wstq2[3].",".$wstq2[4]."。";//echo $str2;
//未来N天的数据都可以用类似的方式获取,这里我不全部列举了。
$url = "http://sms.api.bz/fetion.php?username=13400000000&password=0000&sendto=13500000000&message=";
$url = $url.urlencode("10vps".$str2."by py");
$count = 1; //读取次数
$max_count = 3;//最多读取次数
while( ( $html = file_get_contents($url) ) === false  && $count <= $max_count ) {
$count++;
}
//if ( $html == "短信已提交到发送队列!" )
// echo "ok!";
//else echo "failed!";
?>
####################################
1.id = "101110101"

fetion.png

下载 (338.22 KB)
14 分钟前


http://www.weather.com.cn/html/weather/{$id}.shtml(id为对应的城市的id)

2.username=你的手机号

3.password=飞信的密码

4.sendto=要发送信息的目标号码

5.message=要发送的内容

将以上的文件保存到fetion.php
并创建计划

crontab -e
在计划的配置文档内添加一下的语句
30 18 * * * /usr/bin/php /home/fetion/fetion.php


每天的18:30运行fetion.php文件
这个您每天下午六点半就可以收到天气预报的短信了。 

你可能感兴趣的:(天气预报,api,职场,Fetion,休闲)