一聚教程网:一个值得你收藏的教程网站

热门教程

php采集天气预报2段代码

时间:2022-06-24 17:24:43 编辑:袖梨 来源:一聚教程网

js调用天气预报方法

中国气象台

 代码如下 复制代码
<iframe src="http://m.weather.com.cn/m/pn12/weather.htm " width="245" height="110" 
 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" 
 scrolling="no">

上面是使用了框架方法,不好改自己的格式风格

最简单办法

 代码如下 复制代码

header("content-type:text/html;charset=utf-8");
$weather = file_get_contents("http://www.weather.com.cn/data/sk/101280601.html");
echo $weather;
?>

html代码

 代码如下 复制代码





天气预报



这里是:城市,
气温是气温
风向:风向
风力:风力




上面是指定城市了,我们可以在自己网站选择城市,例子

 代码如下 复制代码
/**
* php 天气预报代码
* by www.111com.net
*/
    if(!isset($_GET['q'])){
        //根据IP查询所在地
        $p = file_get_contents("http://www.jbxue.com/ip/?q={$_SERVER['HTTP_X_FORWARDED_FOR']}");
    }
    else{
        $p = $_GET['q'];
    }
    $k = 0;
    $encoding = mb_detect_encoding()($p);
    if($encoding != "UTF-8"){
        $p = mb_convert_encoding($p,"utf-8","gbk");
    }
    $p_arr = array(
       "01" => "北京",
      "02" => "上海",
      "03" => "天津",
      "04" => "重庆",
      "05" => "黑龙江",
      "06" => "吉林",
      "07" => "辽宁",
      "08" => "内蒙古",
      "09" => "河北",
      "10" => "山西",
      "11" => "陕西",
      "12" => "山东",
      "13" => "新疆",
      "14" => "西藏",
      "15" => "青海",
      "16" => "甘肃",
      "17" => "宁夏",
      "18" => "河南",
      "19" => "江苏",
      "20" => "湖北",
      "21" => "浙江",
      "22" => "安徽",
      "23" => "福建",
      "24" => "江西",
      "25" => "湖南",
      "26" => "贵州",
      "27" => "四川",
      "28" => "广东",
      "29" => "云南",
      "30" => "广西",
      "31" => "海南",
      "32" => "香港",
      "33" => "澳门",
      "34" => "台湾"
    );
 
    function find(&$item,$key,$data){
        global $k;
        if(preg_match("/$item/u",$data)){
           $k = $key;
        }
    }
 
    function get_data_arr($key){
        if(!file_exists("./data/city{$key}.xml")){
            $c =file_get_contents( "http://m.weather.com.cn/data5/city{$key}.xml" );
            file_put_contents("./data/city{$key}.xml",$c);
        }
        else{
            $c = file_get_contents("./data/city{$key}.xml");
        }
       $arr = explode(",",$c);
       foreach($arr as $v){
           $data = explode("|",$v);
           $ret[$data[0]] = $data[1];
       }
       return $ret;
    }
 
    array_walk($p_arr,'find',$p);
    array_walk(get_data_arr($k),'find',$p);
    array_walk(get_data_arr($k),'find',$p);
    $ccode = get_data_arr($k);
    echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");
?>

还有很多像可以调用更详细的天气信息的我们这里就不介绍了,大家可到天气网站去看他们提供的api接口 。

 

热门栏目