当前位置:首页 > 黑客技术 > 正文内容

新浪获取天气预报接口(气象数据接口)

hacker3年前 (2022-07-10)黑客技术75

本文目录一览:

天气预报API接口是什么?

天气预报API接口是气象服务商为客户提供服务的唯一接口。拿墨迹赤必为例,跟客户充分沟通后了解客户的实际需求,从而对现有的数据进行调整,符合客户的需求形成API接口,让客户接入,这样就形成了一个完整的服务。所以说API接口并不是一个很神秘的东西,只不过是企业和客户之间的一条服务纽带。

各个天气预报APP数据是怎样接入的,都是统一的来源吗?

首先可以明确一点,所有的气象数据一定都是来自官方的,以非官方名义公布天气数据应该还没有人敢,只是国家天气数据也有不准的时候,所有的公司都面临一个问题,怎么样让自己的数据比竞品更准?1、国家天气数据为什么也会不准?

国家天气数据中的一部分是地面、高空、雷达观测数据,会自动汇总到国家气象信息中心通信台。

一部分是卫星数据,比如中国的风云卫星一般需要20多分钟才能完成全球扫描,所以这部分的数据通常有半小时左右的延迟。

最后是预报数据,气象学上有一些标准模型,跑模型的时间,数据打包传输分发的时间其实是比较长的(由于数据量的关系),比如气象局可能采用欧洲中心模式系统的数据,有一些延迟,但是预报的特性就是随着时间不断接近,预测越是准确,很容易理解。就我所知,国家高校的一些研究机构也有自己的模型,也不敢说哪个就一定是最准的。

(一部分信息来自中国气象网)

2、国家天气数据可能是不全面的

有些时候我们想要通过手机传感器获得的经纬度来获取天气数据,或者通过 IP 地址来获取天气数据,这些都是很常见的需求,而国家天气数据的 API 可能不支持。

或者,地方气象台有一些地方的气象数据,它们属于省级气象数据,并不需要上报到国家级,那么自然国家天气数据的 API 不支持,但是地方依旧会公布它们。

亦或者,很多人关心 PM2.5,这些数据不是来自气象局,而是来自环保局,而且环保局还没有空气质量预报,又要从其他机构接入。

android怎样使用天气预报接口 实现天气预报

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

参数为city=城市名称

尝试获取南昌的天气预报

南昌

得到下面xml数据

?xml version="1.0" encoding="utf-8"?

resp

  city南昌/city

  updatetime16:55/updatetime

  wendu5/wendu

  fengli3级/fengli

  shidu90%/shidu

  fengxiang北风/fengxiang

  sunrise_106:54/sunrise_1

  sunset_117:19/sunset_1

  sunrise_2/

  sunset_2/

  environment

    aqi26/aqi

    pm2513/pm25

    suggest各类人群可自由活动/suggest

    quality优/quality

    MajorPollutants/

    o344/o3

    co1/co

    pm1014/pm10

    so24/so2

    no227/no2

    time16:00:00/time

  /environment

  yesterday

    date_14日星期五/date_1

    high_1高温 11℃/high_1

    low_1低温 7℃/low_1

    day_1

      type_1阴/type_1

      fx_1无持续风向/fx_1

      fl_1微风/fl_1

    /day_1

    night_1

      type_1小到中雨/type_1

      fx_1北风/fx_1

      fl_13-4级/fl_1

    /night_1

  /yesterday

  forecast

    weather

      date5日星期六/date

      high高温 7℃/high

      low低温 5℃/low

      day

        type中到大雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type小到中雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date6日星期天/date

      high高温 10℃/high

      low低温 5℃/low

      day

        type阴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date7日星期一/date

      high高温 13℃/high

      low低温 6℃/low

      day

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type晴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date8日星期二/date

      high高温 13℃/high

      low低温 7℃/low

      day

        type晴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date9日星期三/date

      high高温 13℃/high

      low低温 10℃/low

      day

        type小雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type小雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

  /forecast

  zhishus

    zhishu

      name晨练指数/name

      value不宜/value

      detail有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。/detail

    /zhishu

    zhishu

      name舒适度/name

      value较舒适/value

      detail白天有雨,人们会感到有些凉意,但大部分人完全可以接受。/detail

    /zhishu

    zhishu

      name穿衣指数/name

      value较冷/value

      detail建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。/detail

    /zhishu

    zhishu

      name感冒指数/name

      value极易发/value

      detail将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。/detail

    /zhishu

    zhishu

      name晾晒指数/name

      value不宜/value

      detail有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。/detail

    /zhishu

    zhishu

      name旅游指数/name

      value较不宜/value

      detail天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。/detail

    /zhishu

    zhishu

      name紫外线强度/name

      value最弱/value

      detail属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。/detail

    /zhishu

    zhishu

      name洗车指数/name

      value不宜/value

      detail不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。/detail

    /zhishu

    zhishu

      name运动指数/name

      value较不宜/value

      detail有较强降水,建议您选择在室内进行健身休闲运动。/detail

    /zhishu

    zhishu

      name约会指数/name

      value不适宜/value

      detail较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,更好在室内促膝谈心。/detail

    /zhishu

    zhishu

      name雨伞指数/name

      value带伞/value

      detail有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。/detail

    /zhishu

  /zhishus

/resp

得到数据后使用XML解析数据即可,更好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

//is是 *** 连接得到的输入流

Document doc = builder.parse(is);

if(doc==null) throw new Exception();

Element element = doc.getDocumentElement();

NodeList childList = element.getChildNodes();

for(int i=0; ichildList.getLength(); i++){

Element e = (Element) childList.item(i);

String tag = e.getTagName();

String text = e.getTextContent();

if("city".equals(tag)){

                //城市

}else if("updatetime".equals(tag)){

//更新时间

}else if("wendu".equals(tag)){

//即时温度

}else if("fengli".equals(tag)){

//风力

}else if("shidu".equals(tag)){

//湿度

}else if("fengxiang".equals(tag)){

//风向

}

}

如何使用PHP调用API接口实现天气查询功能

最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是百度提供的免费天气查询接口API,下面与大家分享下...

1、查询方式:

百度提供的是根据纬度和城市名查询天气情况

2、接口事例:

3、接口参数说明:

4、返回结果说明:

5、

//城市名

$city = '上海';

//对json格式的字符串进行编码

$arr =json_decode($str,TRUE);

print_r($atr);

//城市名

   $city = '上海';

 

   //获取json格式的数据

   $str =file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

   //对json格式的字符串进行编码

   $arr =json_decode($str,TRUE);      

   print_r($atr);

6、返回页面的是json编码后的数据:

[plain] view plain copy print?

meta charset="UTF-8"

Array

(

[error] = 0

[status] = success

[date] = 2014-03-17

[results] = Array

(

[0] = Array

(

[currentCity]= 上海

[weather_data]= Array

(

[0]= Array

(

[date] = 周一(今天, 实时:19℃)

[dayPictureUrl] =

[nightPictureUrl] =

[weather] = 晴

[wind] = 西南风3-4级

[temperature] = 13℃

)

[1] = Array

(

[date]= 周二

[dayPictureUrl] =

[nightPictureUrl] = 

[weather]= 多云转阴

[wind]= 东北风3-4级

[temperature] = 24 ~ 9℃

)

[2] = Array

(

[date]= 周三

[dayPictureUrl] =

[nightPictureUrl] = 

[weather]= 中雨转小雨

[wind]= 东北风3-4级

[temperature] = 15 ~ 8℃

)

[3] = Array

(

[date]= 周四

[dayPictureUrl] =

[nightPictureUrl] =

[weather]= 多云转晴

[wind]= 北风3-4级

[temperature] = 14 ~ 6℃

)

)

)

)

)

meta charset="UTF-8"

Array

(

   [error] = 0

   [status] = success

   [date] = 2014-03-17

   [results] = Array

       (

           [0] = Array

               (

                   [currentCity]= 上海

                   [weather_data]= Array

                       (

                           [0]= Array

                               (

                                  [date] = 周一(今天, 实时:19℃)

                                  [dayPictureUrl] =

                                  [nightPictureUrl] =

                                   [weather] = 晴

                                  [wind] = 西南风3-4级

                                  [temperature] = 13℃

                               )

                           [1] = Array

                               (

                                   [date]= 周二

                                  [dayPictureUrl] =

                                  [nightPictureUrl] =

                                   [weather]= 多云转阴

                                   [wind]= 东北风3-4级

                                  [temperature] = 24 ~ 9℃

                               )

                           [2] = Array

                               (

                                   [date]= 周三

                                  [dayPictureUrl] =

                                  [nightPictureUrl] =

                                   [weather]= 中雨转小雨

                                   [wind]= 东北风3-4级

                                  [temperature] = 15 ~ 8℃

                               )

                           [3] = Array

                               (

                                   [date]= 周四

                                  [dayPictureUrl] =

                                   [nightPictureUrl] =

                                   [weather]= 多云转晴

                                   [wind]= 北风3-4级

                                  [temperature] = 14 ~ 6℃

                               )

                       )

               )

       )

)

7、PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:

[php] view plain copy print?

metacharset="UTF-8"

?php

//城市名

$city = '上海';

//获取json格式的数据

$str = file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

//对json格式的字符串进行编码

$arr = json_decode($str,TRUE);

echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";

foreach($arr['results'][0]['weather_data']as $val)

{

echo $val['date']."br/";

echo "天气:{$val['weather']}br/";

echo "风向:{$val['wind']}br/";

echo "温度:{$val['temperature']}br/br /";

}

?

metacharset="UTF-8"

?php

   //城市名

   $city = '上海';

 

   //获取json格式的数据

   $str = file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

   //对json格式的字符串进行编码

   $arr = json_decode($str,TRUE);      

   echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";

   foreach($arr['results'][0]['weather_data']as $val)

   {

       echo $val['date']."br/";

       echo "天气:{$val['weather']}br/";

       echo "风向:{$val['wind']}br/";

       echo "温度:{$val['temperature']}br/br /";

   }

?

8、返回的内容如下:

新浪博客如何添加天气预报模块

首先点击这个地址:

之一步:在城市这里,添加你想要制定的城市名称,如 淮南

第二步,添加城市名称后,点击生成代码。

第三步,点击生成后即可看见有三种表现方式,我选择的是第三种。

1 效果预览。

2 在效果预览旁边就是这个效果的代码,复制代码→粘贴到新建模块中即可。

修改代码:

生成代码后,你如果感觉颜色不合心意,可以选择第二种,然后根据下面的 *** 在它的代码中修改显示颜色。

c0=F9DC68 表格之一行背景颜色 红色文字是颜色数值。

c1=white c2=FEFCE0 c1,c2 表格其他行间隔的背景颜色 红色文字是颜色数值。

t1=redt1 标题颜色 红色文字是颜色数值。

bg=white 页面背景颜色 红色文字是颜色数值。

w=160 表格宽度 宽度可以自行调节。

注意:颜色请不要加 # 符号, 如 #FF0000 请写成 FF0000

把所有的颜色数值修改成 transparent 再在代码中最后的 /iframe 前面添加 allowTransparency=true 就是透明效果了。

透明滚动效果:

如果喜欢滚动效果的,但是还没有看中现有第三种滚动效果的显示颜色,可以把第二种修改成滚动的,请按照下面步骤来做:

1 text=no 红色部分修改成 text=yes 就是滚动效果。

2 WIDTH:160px 宽 HEIGHT:248px 高 把高改成 22px。

3 把所有的颜色数值修改成 transparent 再在代码中最后的 /iframe 前面添加 allowTransparency=true 这三步修改完了就是滚动透明效果了。

添加代码说明:

1,控制面板----首页内容维护----定义空白模板----新建,创建模块标题,点击显示源代码--粘贴代码----保存并返回;

2,控制面板----定制我的首页----点添加模块----点选创建好的模块标题---勾上并保存,移动新建面板位置--保存设置。做第二步的目的是将建立好的模块在博客个人首页里呈现出来。

如何获取天气预报的wsdl

1、天气预报web services地址 

用浏览器打开此地址,保存页面为Weather.xml

2、新建一个java工程 webservices

建立包名 com.test.ws  

将Weather.xml拷贝到src目录下

3、编写批处理WSDL-SQUARED.CMD,使用wsdj2java生成客户端调用代码

set AXIS_HOME=D:\axis-1_4

set CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar

java org.apache.axis.wsdl.WSDL2Java  -p com.test.ws Weather.xml

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://www.w-123.com/194978.html

“新浪获取天气预报接口(气象数据接口)” 的相关文章

俄罗斯管道巨头 Transneft 遭攻击 79 GB数据泄露

俄乌冲突进入第 3 周,一些非常规行为者继续针对俄罗斯国家支持的企业发起攻击,进行一连串的黑客攻击和数据泄露。而由俄罗斯国家控制的石油管道巨头 Transneft 无疑成为了重点攻击对象。 本周四,泄密托管网站 Distributed Denial of Secrets 发布了一个 79GB 的电子...

黑客称入侵了微软:拿到 Bing 和 Cortana 项目源代码

近日,据Reddit上的帖子和Cyber Kendra上的一份报告显示,LAPSUS$ (Lapsus) 组织入侵了微软的DevOps帐户,该组织此前入侵了NVIDIA和三星。 下面的截图由Lapsus发布,但很快被删除,由Cyber Kendra保存了下来。该组织声称可以访问微软的一些DevOps...

研究人员发现针对乌克兰的第 3 款擦除恶意软件

研究人员近日发现了针对乌克兰计算机的新型擦除恶意软件(以破坏关键文件和数据为目的),这是俄乌冲突以来发现的第 3 款擦除恶意软件。 这种被称为 CaddyWiper 的恶意软件是由总部位于斯洛伐克的网络安全公司 ESET 的研究人员发现的,他们在周一发布的推文中分享了细节。 据研究人员称,该...

Adafruit 披露了前员工 GitHub 储存库中的数据泄露

Hackernews 编译,转载请注明出处: Adafruit 披露了一个数据泄露事件,这个事件是由于一个可公开查看的 GitHub 存储库引起的。 该公司怀疑这可能允许攻击者对2019年或之前对某些用户的信息进行“未经授权的访问”。 Adafruit 总部位于纽约市,自2005年以来一直是开源硬...

一款家用新冠检测电子试剂盒存在漏洞 可让用户伪造结果

一名安全研究人员发现了Cue Health公司家用COVID-19检测试剂盒的一个漏洞,可能会让用户伪造结果。Cue Health的COVID-19检测试剂盒是一种蓝牙操作的分子测试,可以在20分钟内检测出阳性标本。该系统使用鼻拭子测试冠状病毒,鼻拭子被插入一个一次性盒中,由电池供电的Cue阅读器进...

微软警告 NOBELIUM 攻击技术愈加泛滥 谨防 HTML 代码夹带恶意软件

早在 5 月,微软就认定有俄罗斯背景的 NOBELIUM 黑客组织要对持续数月的 SolarWinds 网络攻击事件负责,并同企业、政府和执法机构达成了合作,以遏制此类网络攻击的负面影响。早些时候,微软更进一步地剖析了 NOBELIUM 使用的一套更加复杂的恶意软件传送方法。可知其用于造成破坏,并获...

评论列表

丑味鸠骨
3年前 (2022-07-10)

ME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jarjava org.apache.axis.wsdl.WSDL2Jav

囤梦徒掠
3年前 (2022-07-10)

们会感到有些凉意,但大部分人完全可以接受。/detail    /zhishu    zhishu      name穿衣指数/name      value较冷/value      detail建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。

萌懂鱼芗
3年前 (2022-07-10)

晴/type        fengxiang无持续风向/fengxiang        fengli微风级/fengli      /night    /weather    weather      date8日星

孤央橘亓
3年前 (2022-07-10)

Url] =                                   [weather]= 多云转晴                                   [wind]= 北风3-4级   

慵吋清晓
3年前 (2022-07-10)

较长的(由于数据量的关系),比如气象局可能采用欧洲中心模式系统的数据,有一些延迟,但是预报的特性就是随着时间不断接近,预测越是准确,很容易理解。就我所知,国家高校的一些研究机构也有自己的模型,也不敢说哪个就一定是最准的。(一

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。