xchener 发表于 2014-11-20 23:34

一个从新浪获取当天天气的函数

核心代码:
function sina_weather($city){
    // 天气地址
    $url = 'http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city='. $city .'&dfc=1&charset=utf-8';
    // 从新浪获取天气数据
    $file = file_get_contents($url);
    // 从获取的数据中找到城市名
    preg_match_all("@\['(.*)'\]@",$file,$city);
    // 把城市名添加到数组当中
    $weather['city'] = $city;
    // 从获取的数据中找到天气数据
    preg_match_all("@:'(.*?)'@s",$file,$data);
    // 从新排列所找到的天气数据
    list($weather['s1'], $weather['s2'], $weather['f1'], $weather['f2'], $weather['t1'], $weather['t2'], $weather['p1'], $weather['p2'], $weather['d1'], $weather['d2'], $weather['now'], $weather['time'], $weather['update'], $weather['error'], $weather['total']) = $data;
    // 函数返回结果
    return $weather;
}

返回数组:Array
(
    => 北京
    => 1
    => 0
    => 北京时间11月18日17:05更新
    2014-11-20 23:33:53 => 1416317968
    => 2014-11-18 21:39:28
    => 无持续风向
    => 无持续风向
    => ≤3
    => ≤3
    => 0
    => 13
    => duoyun
    => qing
    => 多云
    => 晴
)
只能查询当天的天气~

Scar-疤痕 发表于 2014-11-20 23:42

谢谢楼主分享!

31412105 发表于 2014-11-20 23:43

支持下,感谢楼主分享

hrbsxk 发表于 2014-11-20 23:50

辛苦了,感谢楼主分享

wanmei 发表于 2014-11-21 00:12

谢谢分享{:17_1061:}

77209341 发表于 2014-11-21 00:16

很好。以前做站时也找到过。

qq1292486987 发表于 2014-11-21 01:22

xchener 发表于 2014-12-16 13:07

qq1292486987 发表于 2014-11-21 01:22
什么语言

php语言哈
页: [1]
查看完整版本: 一个从新浪获取当天天气的函数