美文网首页
2018-09-26 天气预报

2018-09-26 天气预报

作者: 土豆丝炒洋芋丝 | 来源:发表于2018-09-26 17:21 被阅读0次

    适应手机端的天气预报页面 http://m.weather.com.cn
    奇怪的是 在微信浏览器里面 必须要带上经纬度 http://m.weather.com.cn/d/town/index?lat=$lat&lon=$lon
    更多关于天气的接口
    https://blog.csdn.net/x_iya/article/details/52189750
    https://blog.csdn.net/weixin_41830601/article/details/81661611
    原文 链接 https://zhidao.baidu.com/question/1989073542429544307.html
    http://flash.weather.com.cn/wmaps/xml/china.xml
    http://flash.weather.com.cn/wmaps/xml/hubei.xml 感觉也不是所有的省份名都行 广东的就没有
    http://flash.weather.com.cn/wmaps/xml/城市拼音.xml 根据 拼音来的
    得到的数据是xml格式的
    数据有两种结果
    http://flash.weather.com.cn/wmaps/xml/shenzhen.xml

    shenzhen.png
    http://flash.weather.com.cn/wmaps/xml/weihai.xml
    weihai.png
    处理方式: (很草率啊.. 赶得紧,就先这样。)
    $pinyin = new \Pin\Pinyin\pinyin();
    $result = $pinyin->pinyin(substr(I('post.city'), 0, -1)); // 将接收的城市名称转换为拼音
    $url = 'http://flash.weather.com.cn/wmaps/xml/'.$result.'.xml';
    $xml = $this->curl_get($url);   //   获取xml
    $xml = (array)simplexml_load_string($xml,'SimpleXMLElement', LIBXML_NOCDATA);
    $jsonArray = json_decode(json_encode($xml),true);  //   将xml 解析为普通数组
    // 如果接口返回的值有两个以上
    if ($jsonArray['city'][0] == null) {  
       $list['stateDetailed'] = $jsonArray['city']['@attributes']['stateDetailed'];
       $list['windPower'] = $jsonArray['city']['@attributes']['windPower'];
    } else {
       $list['stateDetailed'] = $jsonArray['city'][0]['@attributes']['stateDetailed'];
       $list['windPower'] = $jsonArray['city'][0]['@attributes']['windPower'];
    }
    /**
      * curl get method
      */
      function curl_get($url){
          if(function_exists('file_get_contents')){
              $file_contents = file_get_contents($url);
          } else{
              $ch = curl_init();
              $timeout = 5;
              curl_setopt ($ch, CURLOPT_URL, $url);
              curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
              curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
              $file_contents = curl_exec($ch);
              curl_close($ch);
          }
          return $file_contents;
      }
    

    相关文章

      网友评论

          本文标题:2018-09-26 天气预报

          本文链接:https://www.haomeiwen.com/subject/ighjoftx.html