通过ip获取qq的天气json数据

Posted joshinrai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过ip获取qq的天气json数据相关的知识,希望对你有一定的参考价值。

需求:根据IP获取当地天气

参考:http://news.qq.com/    其页面中有获取天气的实现。

具体实现:1.查看上面网页,找出其相关代码(我使用的是chrom浏览器,F12调出调试模式)

 

2.解释主要代码:

 

(1)<script src="http://fw.qq.com:80/ipaddress"></script> :加载这个js,返回的信息:var IPData = new Array("60.29.153.39","","天津市","");

其返回的是本机的IP和地区(类似山东省,济南市;因为天津是直辖市比较特殊,最后市为空;后面有专门判断)。

 

注意:http://fw.qq.com:80/ipaddress现在打不开,可以找搜狐的相关的地址,返回信息有点不一样,但是基本信息都在的。可以参考的有(

国家气象局提供的天气预报接口地址:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/data/cityinfo/101010100.htmlhttp://m.weather.com.cn/data/101010100.html

搜狐的地址:http://pv.sohu.com/cityjson?ie=utf-8

 

(2)<div id="weatherWrap">
<span id="echoData"></span>
<span id="echoWeek"></span>
<span id="wCity"></span>
<span id="weatherIco"></span>
<span id="wTp"></span>
</div>  

主要是设置显示信息;具体的操作在下面的js中。

(3)<script type="text/JavaScript">
...............................

   document.getElementById("echoWeek").innerhtml = "星期"+sMday[sTime2];
   document.getElementById("echoData").innerHTML = sTime1;
</script>

设置时间的部分,比较简单,不在多说了

(4)<script src="http://news.qq.com/newsweather/showWeather.js" type="text/javascript"></script>这个js里面是主要的处理天气的部分:

首有城市与城市ID对应关系;

然后根据(1)中地区获取相应的城市ID;

 再次,根据地址:‘http://weather.gtimg.cn/city/‘ + cityId + ‘.js?ref=qqnews‘;返回的信息是这个地区的各种信息(天气,温度,等)

最后,根据上步取出所需要的信息即可。












以上是关于通过ip获取qq的天气json数据的主要内容,如果未能解决你的问题,请参考以下文章

基于Arduino和ESP8266的JSON数据获取与解压之和风天气

C语言 | JSON格式天气数据的解析(附详细代码)

GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)

获取从天气预报接口返回回来的json数据

IP定位,天气接口

Gson解析第三方提供Json数据(天气预报,新闻等)