前段时间做天气预报功能,用户可以查看指定城市的天气信息,由于需要用到城市ID,找了很多资源,都无法满足需求,无意间看到了百度的API商店,原来天气预报的接口已经有很多人在做了,只不过好的接口都是收费的,今天的目的是免费拿到城市ID,所以和他们的服务扯不上关系;
其实百度也提供了一个根据城市名得到城市ID的接口:http://apistore.baidu.com/microservice/cityinfo?cityname=%E8%8B%8F%E5%B7%9E
而我这边的需求是把全国所有的城市ID保存到数据库中,系统中已经有了一个discuz的地址库,虽然可以遍历数据库,然后一个个的去请求,显然这种方法很笨;
继续浏览百度的api store,发现了 http://apistore.baidu.com/apiworks/servicedetail/880.html 这个服务商的官网:http://www.heweather.com/documents/cn-city-list
到此第一个问题解决了,感谢【和风天气】,全国所有的城市ID都有了,如果你有精力的话可以手动一个个复制到自己数据库中,也可以通过写个小程序跑一遍自动塞到自己的库中;
===================华丽的分隔符=============================
以下话题不属于当前标题,如果上面的内容已经解决了你的问题就不需要往下看了^_^ 。
那么第二个问题来了,我的系统中用的是discuz地址库,如何把两者结合起来才算是最终的目的,写了这篇文件就说明我已经结合完了,有需要的可以私聊我。
最后一步,显然就是根据指定的城市名通过程序抓取一个比较稳定且比较有点实力的网站的天气代码,然后你就可以在自己的网站上想怎么显示就怎么显示了!
这是拿discuz地址库与从和风天气拿到的城市ID整合的库:
最终效果: