第一步、注册
注册免费API和阅读技术文档:

  注册地址:https://console.heweather.com

注册完成后,激活登录后,新建应用 、新建key 
KEY名称 密钥ID 密钥 类型
下载城市代码,另存为 china-city-list.csv

3-10天天气预报

接口介绍
最长10天天气预报数据,天气预报包含的数据:日出日落、月升月落、最高最低温度、天气白天和夜间状况、风力、风速、风向、相对湿度、大气压强、降水量、降水概率、露点温度、紫外线强度、能见度等数据

城市覆盖范围:全球

大客户可达14天,免费用户获得 3天预报数据,认证开发者可获得7天预报,付费用户可选 3-10天

请求URL
付费:https://api.heweather.net/s6/weather/forecast?parameters

免费:https://free-api.heweather.net/s6/weather/forecast?parameters
parameters代表请求参数,包括必选和可选参数。所有请求参数均使用&进行分隔,参数值存在中文或特殊字符的情况,需要对参数进行 url encode。

请求参数
参数 描述 选择 示例值
location 需要查询的城市或地区,可输入以下值:
1. 城市ID:城市列表
2. 经纬度格式:经度,纬度(经度在前纬度在后,英文,分隔,十进制格式,北纬东经为正,南纬西经为负
3. 城市名称,支持中英文和汉语拼音
4. 城市名称,上级城市 或 省 或 国家,英文,分隔,此方式可以在重名的情况下只获取想要的地区的天气数据,例如 西安,陕西
5. IP
6. 根据请求自动判断,根据用户的请求获取IP,通过 IP 定位并获取城市数据 必选 1. location=CN101010100
2. location=116.40,39.9
3. location=北京、 location=北京市、 location=beijing
4. location=朝阳,北京、 location=chaoyang,beijing
5. location=60.194.130.1
6. location=auto_ip
lang 多语言,可以不使用该参数,默认为简体中文
详见多语言参数 可选 lang=en
unit 单位选择,公制(m)或英制(i),默认为公制单位
详见度量衡单位参数 可选 unit=i
key 用户认证key,请参考如何获取你的KEY
支持数字签名方式进行认证,推荐使用 必选 key=xxxxxxxxxxxxxx

打开浏览器测试 OK
https://free-api.heweather.net/s6/weather/forecast?location=太原&key=XXXXXXXXXX

使用下面地址可以看到所有城市信息
https://cdn.heweather.com/china-city-list.txt

使用python调用

import requests
import time
import pandas as pd
url='https://cdn.heweather.com/china-city-list.txt'
strhtml = requests.get(url)
data = strhtml.text
data1 = data.split("\n")
for i in range(6): #因为前六行不需要,所以没有打印
data1.remove(data1[0])
df_weather = pd.DataFrame(columns = ['city_name','area_name','date','tmp_max']) #创建一个空的dataframe
for item in data1:
# print(item[2:13])
url = 'https://free-api.heweather.net/s6/weather/forecast?location='+item[2:13]+'&key=HE1904250910131710'
strhtml = requests.get(url)
time.sleep(1)
dic = strhtml.json()
# print(dic)
city_name=dic["HeWeather6"][0]["basic"]["parent_city"]
area_name = dic["HeWeather6"][0]["basic"]["location"]
for item in dic["HeWeather6"][0]["daily_forecast"]:
# print(city_name,area_name,item["date"],"最高气温",item["tmp_max"])
add_data = pd.Series({'city_name':city_name,'area_name':area_name,'date':item["date"],"tmp_max":item["tmp_max"]})
# ignore_index=True不能少
df_weather = df_weather.append(add_data, ignore_index=True)
path="D:\\python\\excel_export\\"
df_weather.to_excel(path+"weather"+".xls")

python 使用API调用和风天气获取天气情况并保存的更多相关文章

  1. API调用微信getWXACodeUnlimit()获取小程序码

    微信文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACodeUnlimit.html? ...

  2. 华为云的API调用实践(python版本)

    一.结论: 1.华为云是符合openstack 社区的API,所以,以社区的API为准.社区API见下面的链接. https://developer.openstack.org/api-ref/net ...

  3. 阿里云 API调用实践(python语言)

    1.结论:阿里云的SDK开发,其实就是远程调用API,python的代码就是一个外壳,核心是封装成一个http报文,利用json格式,进行RPC调用. 2.SDK调用API的套路如下: # -*- c ...

  4. Python面向对象 -- 继承和多态、获取对象信息、实例属性和类属性

    继承和多态 继承的好处: 1,子类可以使用父类的全部功能 2,多态:当子类和父类都存在相同的方法时,子类的方法会覆盖父类的方法,即调用时会调用子类的方法.这就是继承的另一个好处:多态. 多态: 调用方 ...

  5. 高德地图API获取天气

    1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...

  6. JS调用腾讯接口获取天气

    想做个直接通过JS获取某个城市的天气.本来想通过直接调用中国气象网的接口: http://www.weather.com.cn/weather/101070201.shtml,但是跨域问题一直无法解决 ...

  7. 雅虎天气API调用

    雅虎天气API调用: 1.调用方法:http://weather.yahooapis.com/forecastrss?w=2502265&u=c,绿色字体为城市代号,u=c表示取摄氏度. 2. ...

  8. C#调用WebService获取天气信息

    概述 本文使用C#开发Winform应用程序,通过调用<WebXml/>(URL:http://www.webxml.com.cn)的WebService服务WeatherWS来获取天气预 ...

  9. 关于实现手机端自动获取天气的demo

    博主大二做的一个项目,当时很傻很天真,但是还是贴出来,希望能给大家一点帮助.欢迎转载哦!我的博客园地址:http://www.cnblogs.com/natureless/ 首先分析需求,移动端实现天 ...

随机推荐

  1. 读取本地word 浏览器下载(设置编码格式)

    String filePath = "C:\\word\\报告.doc"; BufferedWriter bos = null; BufferedReader bis = null ...

  2. bugku web所有writeup_超详细讲解_持续更新

    首先说一下我的主用工具,在windows下,主要是用这些,用到其他特定的工具会在题里说. 0.浏览器:火狐,配合Max hackbar插件 (这个是免费的) 1.抓包改包:burpsuite.http ...

  3. Perl快速查找素数

    查找N内的所有素数,首先想到的就是: 对整数N从2开始到sqrt(N),进行整除计算,能整除则计算N+1,然后循环.方法简单,但效率低下.1000,000内的素数个数: #!/usr/bin/perl ...

  4. MySQL两地三中心方案初步设计【转】

    整体内容会按照如下的方式来进行设计: 首先说下方案的背景,我参考了一些资料(参见附件). 方案背景 随着互联网业务快速发展,多IDC的业务支撑能力和要求也逐步提升,行业内的“两地三中心”方案较为流行. ...

  5. m.baidu.com/?tn=simple 开始有广告了。。。

    m.baidu.com/?tn=simple 开始有广告了.... 极简的百度也被安排上了广告,.....   文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言.评论

  6. Kettle建立数据库链接报错-'MS SQL Server' driver (jar file) is installed. kettle的bug,对于12.2而言

    1.链接sql server数据库报错 错误连接数据库 [My_vm_win_sql] : org.pentaho.di.core.exception.KettleDatabaseException: ...

  7. Git: git tag 使用小结(给发布版本打标记,切换并修改某个历史版本)

    通常在软件发布的时候会打一个tag,用于标注这次发布的相关信息, 这样做的好处是,将来如果这个版本出现了问题,可以通过tag迅速定位到当前版本,进行错误修复. 1. 新建tag $ git tag v ...

  8. [原]DOM、DEM、landcover,从tms服务发布格式转arcgis、google服务发布格式

    原作:南水之源 先看看tms和google服务器发布数据的数据排列:(goole地图与arcgis一样) 我现在手上有tms发布的数据,dom,dem等,现在要用arcgis server来发布这些数 ...

  9. shell编程系列12--文本处理三剑客之sed利用sed修改文件内容

    shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的 ...

  10. 在excel图表上添加数据标签

    在excel图表上添加数据标签 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://zhidao.baidu.com/question/47838665 方法与步骤 在E ...