目錄
微信公众号天气查询接口实例,公众天气查询实例
首頁 php教程 php手册 微信公众号天气查询接口实例,公众天气查询实例

微信公众号天气查询接口实例,公众天气查询实例

Jun 13, 2016 am 08:42 AM
天氣預報

微信公众号天气查询接口实例,公众天气查询实例

这是来自百度API的一个天气查询的接口,支持历史7天和未来4天的天气情况查询,接口不错,分享给大家。

接口申请地址:http://apistore.baidu.com/apiworks/servicedetail/112.html

首先,获取一下apikey(貌似需要手机验证码认证下)

我调用的是历史7天和未来4天的接口,接口地址是:

http:<span>//</span><span>apis.baidu.com/apistore/weatherservice/recentweathers</span>
登入後複製

我将这个天气查询的功能集成在了微信公众平台上,支持未来4天天气查询,包括:当前温度、pm值、风向、风力、最高温度、最低温度、天气状态的查询,效果如下:

闲话不多说,我就喜欢来点直接的,核心代码如下:

<span> 1 <span>//<span>接收到文本信息
<span> 2     <span>private <span>function receiveText(<span>$object<span>){
<span> 3         <span>//<span>多个空格缩为一个
<span> 4         <span>$keyword = <span>$object-><span>Content;
<span> 5         <span>$keyword=<span>preg_replace("/\s(?=\s)/","\\1",<span>$keyword<span>);
<span> 6         <span>$funcFlag = 0<span>;
<span> 7         <span>if(<span>strpos(<span>$keyword," "<span>)){
<span> 8             <span>//<span>echo '有空格';
<span> 9             <span>$arr = <span>explode(" ",<span>$keyword<span>);
<span>10             <span>if(<span>$arr[0]=="天气"<span>){
<span>11                 <span>$dateArray = <span>array<span>();
<span>12                 <span>$ch =<span> curl_init();
<span>13                 <span>$city=<span>urlencode(<span>$arr[1<span>]);
<span>14                 <span>$url = 'http://apis.baidu.com/apistore/weatherservice/recentweathers?cityname='.<span>$city<span>;
<span>15                 <span>$header = <span>array<span>(
<span>16                     'apikey: 6512ad3a465e3a9e3d0d1da56639626c',
<span>17 <span>                );
<span>18                 curl_setopt(<span>$ch, CURLOPT_HTTPHEADER  , <span>$header<span>);
<span>19                 curl_setopt(<span>$ch, CURLOPT_RETURNTRANSFER, 1<span>);
<span>20                 curl_setopt(<span>$ch , CURLOPT_URL , <span>$url<span>);
<span>21                 <span>$res = curl_exec(<span>$ch<span>);
<span>22                 <span>$data = json_decode(<span>$res,<span>true<span>);
<span>23                 <span>$cityname=<span>$data['retData']['city'<span>];
<span>24                 <span>$citydate=<span>$data['retData']['today']['date'<span>];
<span>25                 <span>$cityweek=<span>$data['retData']['today']['week'<span>];
<span>26                 <span>$citytemp=<span>$data['retData']['today']['curTemp'<span>];
<span>27                 <span>$citypm=<span>$data['retData']['today']['aqi'<span>];
<span>28                 <span>$cityhightemp=<span>$data['retData']['today']['hightemp'<span>];
<span>29                 <span>$citylowtemp=<span>$data['retData']['today']['lowtemp'<span>];
<span>30                 <span>$citytype=<span>$data['retData']['today']['type'<span>];
<span>31                 <span>$cityfengli=<span>$data['retData']['today']['fengli'<span>];
<span>32                 <span>$cityfengxiang=<span>$data['retData']['today']['fengxiang'<span>];
<span>33                 <span>$cityforecast=<span>$data['retData']['forecast'<span>];
<span>34 
<span>35                 <span>$out="今日温度:".<span>$citylowtemp."~".<span>$cityhightemp."\n\r"."当前温度:".<span>$citytemp."\n\r"."天气情况:".<span>$citytype."\n\r"."PM2.5值:".<span>$citypm."\n\r风向风力:".<span>$cityfengxiang." ".<span>$cityfengli<span>;
<span>36                 <span>$dateArray[] = <span>array("Title"=><span>$cityname."\n\r".<span>$citydate." ".<span>$cityweek,"Description"=>"","Picurl"=>"","Url" =>""<span>);
<span>37                 <span>$dateArray[] = <span>array("Title"=><span>$out,"Description"=>"","Picurl"=>"","Url" =>""<span>);
<span>38                 <span>for(<span>$i=0;<span>$i<<span>count(<span>$cityforecast);<span>$i++<span>){
<span>39                     <span>$outstr="☀ ".<span>$cityforecast[<span>$i]["date"]." ".<span>$cityforecast[<span>$i]["week"]."\n\r气温:".<span>$cityforecast[<span>$i]["lowtemp"]."~".<span>$cityforecast[<span>$i]["hightemp"]."\n\r风力:".<span>$cityforecast[<span>$i]["fengxiang"]." ".<span>$cityforecast[<span>$i]["fengli"]."\n\r天气:".<span>$cityforecast[<span>$i]["type"<span>];
<span>40                     <span>$dateArray[] = <span>array("Title"=><span>$outstr,"Description"=>"","Picurl"=>"","Url" =>""<span>);
<span>41 <span>                }
<span>42                 <span>$resultStr = <span>$this->transmitNews(<span>$object, <span>$dateArray, <span>$funcFlag<span>);
<span>43 <span>            }
<span>44         }<span>else<span>{
<span>45             <span>//<span>echo '没有空格';
<span>46             if($keyword=="天气"){
47                 $dateArray = array();
48                 $dateArray[] = array("Title"=>"查询格式错误","Description"=>"","Picurl"=>"","Url" =>"");
49                 $dateArray[] = array("Title"=>"正确格式例:天气 北京","Description"=>"","Picurl"=>"","Url" =>"");
50                 $resultStr = $this->transmitNews($object, $dateArray, $funcFlag);
51             }
52         }
53         return $resultStr; 
54     }</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
登入後複製

查询格式:“天气 城市名”

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用PHP實現天氣預報功能 如何使用PHP實現天氣預報功能 Jun 27, 2023 pm 05:54 PM

PHP作為一款流行的後端程式語言,在Web開發領域廣受歡迎。天氣預報功能是常見的Web應用場景,基於PHP實現天氣預報功能相對簡單易懂。本文將介紹如何使用PHP實現天氣預報功能。一、取得天氣資料API要實現天氣預報功能,首先需要取得天氣資料。我們可以使用第三方天氣API來取得即時、準確的天氣資料。目前,國內主流的天氣API供應商包括免費的「心知天氣」和收

如何使用Java Websocket實現即時天氣預報功能? 如何使用Java Websocket實現即時天氣預報功能? Dec 17, 2023 pm 05:10 PM

如何使用JavaWebSocket實現即時天氣預報功能?隨著網路和行動裝置的普及,即時天氣預報功能成為了許多應用的必備功能之一。而使用JavaWebSocket技術能夠方便快速地實現即時通信,為用戶提供最新的天氣預報資訊。本文將介紹如何使用JavaWebSocket實現即時天氣預報功能,並提供具體的程式碼範例。環境準備在開始之前,需要確保你已經安裝好以

華為手機天氣預報怎麼設定在桌面 詳細講解:手機添加桌面小組件教程 華為手機天氣預報怎麼設定在桌面 詳細講解:手機添加桌面小組件教程 Mar 02, 2024 pm 12:34 PM

自2021年12月開始華為&榮耀手機上線了萬象桌面小組件的功能。為許多用戶手機桌面添加許多便利功能、視覺優化的桌面控制等等;到今年8月兩大商家平台也開放了運動健康數據、天氣數據、音樂數據、系統數據等等,讓用戶在手機桌面的互動操作更方便快速也具備較多趣味性,讓使用者自己DIY創意組合自己的個性桌面。在添加小組件後的手機桌面最近,許多華為手機用戶反映他們對於如何在華為和榮耀手機上添加桌面小組件的操作方式不太清楚,抱怨這一過程過於復雜和繁瑣。為了幫助大家解決這個問題,錢舒嫻準備了詳細的操作流程,希望能夠

谷歌推出「先進天氣預報AI」MetNet-3,號稱預測超傳統實體模型 谷歌推出「先進天氣預報AI」MetNet-3,號稱預測超傳統實體模型 Nov 03, 2023 pm 05:25 PM

IT之家11月3日消息,Google研究院與DeepMind合作開發了最新的天氣模式MetNet-3,以先前的MetNet和MetNet-2為基礎,能夠提早24小時,能夠對全球天氣狀況進行高解析度預測,包括降水、表面溫度、風速、風向和體感溫度。 IT之家發現,Google提到,MetNet-3模型已經在行動平台的「Google手機軟體」天氣預報中實裝。 MetNet-3模型可創造「平滑且高精度」的預測,空間解析度可達1至4公里,並以2分鐘為分析區間,經實驗證明,MetNet-3的預測能力超越傳統物理天氣預報模型,例如

谷歌推出「先進天氣預報 AI」MetNet-3,號稱預測結果超過傳統實體模型 谷歌推出「先進天氣預報 AI」MetNet-3,號稱預測結果超過傳統實體模型 Nov 04, 2023 am 08:22 AM

11月3日消息,Google研究院與DeepMind合作開發了最新的天氣模型MetNet-3,以先前的MetNet和MetNet-2為基礎,能夠提前24小時,能夠對全球天氣狀況進行高分辨率預測,包括降水、表面溫度、風速、風向和體感溫度。本站發現,Google提到,MetNet-3模型已經在行動平台的「Google手機軟體」天氣預報中實裝。 MetNet-3模型可以創造「平滑且高精度」的預測,空間解析度可達1至4公里,並且以2分鐘為分析區間。經過實驗證明,MetNet-3的預測能力超越了傳統的物理天氣預報模型,例如

應用物理耦合圖神經網路提升中國科學院大氣物理研究所的降水預報技巧 應用物理耦合圖神經網路提升中國科學院大氣物理研究所的降水預報技巧 Jan 25, 2024 pm 03:42 PM

編輯|ScienceAI大模型時代,純數據驅動的氣象、氣候模型效果逐漸追趕甚至趕超數值模式。然而,現有的氣象氣候大模型仍存在一些問題。例如,模型中的物理一致性還不夠高,這導致了對於複雜的天氣氣候現像如降水的預測能力受限。另外,輻散風的預報效果也不盡人意。這些問題需要進一步的研究和改進,以提高模型的預測精度和可靠性。目前,將物理、大氣動力與深度學習模式結合,是解決瓶頸問題的重要途徑。近日,中國科學院大氣物理研究所黃剛研究員團隊基於地球系統數值模擬裝置(寰)的數據和算力支持,從物理變量耦合關係角

桌面天氣預報怎麼恢復 桌面天氣預報怎麼恢復 Feb 24, 2024 pm 06:31 PM

桌面會有一個天氣預報的功能,那麼桌面天氣預報要怎麼恢復呢?使用者需要在桌面裡點選視窗工具,然後點選天氣,選擇一個天氣元件就可以了。這篇桌面天氣預報恢復方法介紹就能告訴大家具體的操作方法,以下就是詳細介紹,趕快看看吧!桌面天氣預報怎麼恢復答:在桌面的小組件裡選擇天氣,然後加入桌面。具體方法:ios方法:1、長按蘋果螢幕,然後點選左上的+號。 2.在裡面搜尋天氣,打開這個應用程式。 3.然後選擇天氣組件的樣式,點選新增小組件。 4.之後點選右上的完成就可以了。安卓方法:1、長按螢幕,點選視窗小工具。 2、點擊天

如何使用Python和百度地圖API取得城市天氣預報資訊? 如何使用Python和百度地圖API取得城市天氣預報資訊? Jul 31, 2023 pm 02:46 PM

如何使用Python和百度地圖API取得城市天氣預報資訊?導語:天氣預報對我們的日常生活有著重要的指導作用。本文將介紹如何使用Python程式語言和百度地圖API來獲取城市的天氣預報訊息,從而幫助我們準確地了解天氣狀況。首先,我們需要註冊一個百度開發者帳號並建立一個應用程式。在建立應用程式後,百度將會提供給我們一對APIKey,用於使用百度地圖API的權限認證。接

See all articles