论坛风格切换
  • 3093阅读
  • 0回复

[定制开发功能]一个天气抓取脚本 [复制链接]

上一主题 下一主题
离线prisk
 

发帖
278
金币
0
威望
59
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-11-02
  1. <?php
  2. require_once('global.php');
  3. $url='http://qq.ip138.com/weather/guangdong/HeYuan.htm'; //抓取目标地址 可以自己换个
  4. update_weather($url);
  5. showmsg('更新天气缓存完毕');
  6. function update_weather($url)
  7.     {
  8.         $con = file_get_contents($url);        
  9.         preg_match('~<table width="700" borderColorDark="#ffffff".*?>(.*?)</table>~s',$con,$table);
  10.         preg_match_all('~<tr.*?>(.*?)</tr>~s',$table[1],$trs);
  11.         $i=0;
  12.         $array = array();
  13.         foreach ($trs[1] as $tr)
  14.         {
  15.             ++$i;
  16.             preg_match_all('~<t[dh].*?>(.*?)</t[dh]>~s',$tr,$tds);
  17.             $array[0][] =$tds[1][1];            //这边可以抓取多天的 这个为1天的
  18.         }    
  19.         preg_match_all('~<br/>(.*?)</td>~s',$trs[1][1],$tys);      
  20.         $array[0][4] = $tys[1][0];
  21.         $array[0][1] = get_img($array[0][1]);
  22.         $tmptianqi = '河源天气'."{$array[0][2]}";
  23.         $tmptianqi.= "<img align=\"absmiddle\"  src=\"{$array[0][1]}\" alt=\"{$array[0][4]}\" height=\"22\" width=\"30\" />{$array[0][4]}";
  24.         $tmp = "\$tianqi = '$tmptianqi'";
  25.         pwCache::setData(D_P . 'data/bbscache/cache_toutiao.php',"<?php\r\n".$tmp."\r\n?>");
  26. }
  27. function get_img($str)
  28. {
  29.     preg_match('~src=["\']?(.*?)["\']? ~s',$str,$p);
  30.     $img = 'images/weather/';
  31.     return $img.pathinfo($p[1],PATHINFO_BASENAME);
  32. }
  33. ?>
可以加到计划任务里 一天执行一次

[img]http://appimg.veryapp.com/pbar/img.php?barhash=4b7ee90840c62e74d81ca326e43bb302d7b460c4[/img]
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
提到某人:
选择好友
上一个 下一个