找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2262|回复: 0
打印 上一主题 下一主题

php采集天气预报代码

[复制链接]

2600

主题

2600

帖子

7736

积分

论坛元老

Rank: 8Rank: 8

积分
7736
跳转到指定楼层
楼主
发表于 2018-2-18 04:49:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                  =3600*3){
      self::get_($cache_file);
    }
    $arr=unserialize(file_get_contents($cache_file));
    return $arr;
  }
  
  /**
   * 获得缓存
   *
   * @param unknown_type $cache_file
   */
  static public function get_($cache_file)
  {
    $con = file_get_contents(self:domain.self:url);
    preg_match('~
(.*?)
~s',$con,$table);
    preg_match_all('~[tr](.*?)[/tr]~s',$table[1],$trs);
    $i=0;
    $array = array();
    foreach ($trs[1] as $tr)
    {
      ++$i;
      preg_match_all('~(.*?)~s',$tr,$tds);
      $array[0][] = self::I($tds[1][1]);
      $array[1][] = self::I($tds[1][2]);
    }
    $array[0][1] = self::get_img($array[0][1]);
    $array[1][1] = self::get_img($array[1][1]);
    file_put_contents($cache_file,serialize($array));
  }
  /**
   * 数据输出测试
   *
   * @param unknown_type $data
   * @param unknown_type $s
   */
  static public function P($data,$s=0)
  {
    echo "";
    if (is_array($data))
    var_export($data);
    else
    echo $data;
    echo '';
    if ($s==0)
    exit();
  }
  /**
   * 转码
   *
   * @param unknown_type $str
   * @return unknown
   */
  static public function I($str)
  {
    return iconv('GB2312','UTF-8',$str);
  }
  /**
   * 获得图片的URL,此处可扩展,把图片抓取到本地, 增加访问速度
   *
   * @param string $str
   * @return string
   */
  static public function get_img($str)
  {
    preg_match('~src=["\']?(.*?)["\']? ~s',$str,$p);
    return self:($p[1],PATHINFO_BASENAME);
  }
}
//print_r();
$weather = weather::get();
echo "
[img][/img]
";
?>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端