24.API爬天气预报数据
1.免费注册API 地址: https://console.heweather.com/
必须要用IE浏览器打开,注册邮箱激活,打开控制台,如图:

认证key是访问api的钥匙
2.阅读api说明开发文档 地址:https://www.heweather.com/documents/api/v5/url

可以看到免费的用户只能访问一个服务器节点:

3.了解调用接口的方法
请求参数如下:

之后就需要拼接参数组成请求urlhttps://free-api.heweather.com/v5/weather?city=yourcity&key=yourkey
4.获取城市ID代码
链接地址:https://cdn.heweather.com/china-city-list.txt

这里数据是乱码的,跟网页编码有关系。
5.获取城市代码
# coding:utf-8
import requests
url = 'https://cdn.heweather.com/china-city-list.txt'
response = requests.get(url)
data = response.text
# print(data)
cont = data.split('\n')
# 去除头部多余标签
for i in range(6):
cont.remove(cont[0])
# print(cont)
#循环遍历,输出id
for j in cont:
print(j[2:14])
执行效果如下:

6.拼接url完善代码 # coding:utf-8
import requests
import random,time
url = 'https://cdn.heweather.com/china-city-list.txt'
response = requests.get(url)
data = response.text
# print(data)
cont = data.split('\n')
# 去除头部多余标签
for i in range(6):
cont.remove(cont[0])
# print(cont)
#循环遍历,输出id
for j in cont:
# print(j[2:14])=
link_url= 'https://free-api.heweather.com/v5/weather?city={}'.format(j[2:14])+'&key=a3a4f84e9d68491e8b2e9d61c61df7c2'
print(link_url)
html = requests.get(link_url)
time.sleep(random.randint(1,2))
print(html.text)
代码报错:


是由于网站把这个借口给关闭了,已经无法使用,但调用api接口的方式大概就是这样。
模拟获取请求参数拼接请求url去获取数据,其实就和使用代理ip差不多。
24.API爬天气预报数据的更多相关文章
- 和风api爬取天气预报数据
''' 和风api爬取天气预报数据 目标:https://free-api.heweather.net/s6/weather/forecast?key=cc33b9a52d6e48de85247779 ...
- 百度地图POI数据爬取,突破百度地图API爬取数目“400条“的限制11。
1.POI爬取方法说明 1.1AK申请 登录百度账号,在百度地图开发者平台的API控制台申请一个服务端的ak,主要用到的是Place API.检校方式可设置成IP白名单,IP直接设置成了0.0.0.0 ...
- Android访问中央气象台的天气预报API得到天气数据
最新说明:该接口已失效! 2014-03-04 可申请它公布的API,需申请:http://smart.weather.com.cn/wzfw/smart/weatherapi.shtml 在用A ...
- 小试牛刀--利用豆瓣API爬取豆瓣电影top250
最近得赶进度爬点东西,对于豆瓣,它为开发者提供了API,目前是v2版本,目前key不对个人开放,但是可以正常通过其提供的API获取数据.豆瓣V2版API权限分3类:公开.高级.商务,我们用开放基本数据 ...
- node.js爬取数据并定时发送HTML邮件
node.js是前端程序员不可不学的一个框架,我们可以通过它来爬取数据.发送邮件.存取数据等等.下面我们通过koa2框架简单的只有一个小爬虫并使用定时任务来发送小邮件! 首先我们先来看一下效果图 差不 ...
- 用python+sklearn(机器学习)实现天气预报数据 数据
用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...
- Python解析Yahoo的XML格式的天气预报数据
以下是Yahoo天气预报接口xml格式数据: <rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xm ...
- 【个人】爬虫实践,利用xpath方式爬取数据之爬取虾米音乐排行榜
实验网站:虾米音乐排行榜 网站地址:http://www.xiami.com/chart 难度系数:★☆☆☆☆ 依赖库:request.lxml的etree (安装lxml:pip install ...
- 用JSON-server模拟REST API(二) 动态数据
用JSON-server模拟REST API(二) 动态数据 上一篇演示了如何安装并运行 json server , 在这里将使用第三方库让模拟的数据更加丰满和实用. 目录: 使用动态数据 为什么选择 ...
随机推荐
- InfluxDB(官方使用说明)
安装InfluxDB OSS 此页面提供有关安装,启动和配置InfluxDB的说明. InfluxDB OSS安装要求 root为了成功完成,需要安装InfluxDB软件包或具有管理员权限. Infl ...
- 关于PHP程序员技术职业生涯规划 转自 韩天锋
转自 http://rango.swoole.com/ 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些, ...
- DS哈希查找--线性探测再散列
题目描述 定义哈希函数为H(key) = key%11.输入表长(大于.等于11),输入关键字集合,用线性探测再散列构建哈希表,并查找给定关键字. --程序要求-- 若使用C++只能include一个 ...
- SET NOCOUNT ON
每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,这是些什么信息?在我们调用的时候这些信息有用吗?是否可以关闭呢? 答案是这些信息在我们的客户端的应用 ...
- 【mysql】之性能优化
http://blog.csdn.net/orichisonic/article/details/48026031 https://www.cnblogs.com/zhming26/p/6322353 ...
- 自动化 数据分离 --A文件里面的类 中的函数 调用 B文件里面类 的函数 的方法
记录: bb 要实例化 self.dr=dr,那么 iber_test类的 self.dr 才能带过去
- typescript可索引接口 类类型接口
/* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...
- windows server 2012 r2 安装IIS失败
给新的2012服务器安装IIS时报错: 错误原因:就在于选中了.net framework 3.5 . 如果要安装.net framework 3.5 使用以下步骤: 1 加载安装光盘,如果没有可以网 ...
- BCGcontrolBar(二) 改变RIBBON字体
在xp系统下 BCGcontrolBar字体会发虚 这时候重新设置下字体就行了 在单文档的MainFram的onCreate中加入 CFont *font=m_wndRibbonBar.GetFont ...
- geoserver sld显示中文标签 style配置
样式1: <?xml version="1.0" encoding="GB2312"?><sld:StyledLayerDescriptor ...