24.API爬天气预报数据
- 1.免费注册API 地址: https://console.heweather.com/
- 必须要用IE浏览器打开,注册邮箱激活,打开控制台,如图:
认证key是访问api的钥匙
- 2.阅读api说明开发文档
- 地址:https://www.heweather.com/documents/api/v5/url
可以看到免费的用户只能访问一个服务器节点:
- 3.了解调用接口的方法
请求参数如下:
- 之后就需要拼接参数组成请求url
https://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 , 在这里将使用第三方库让模拟的数据更加丰满和实用. 目录: 使用动态数据 为什么选择 ...
随机推荐
- TCP/UDP端口列表(WIKIpedia)
计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...
- excel技巧--批量生成工资条
要想生成如上图的工资条,快速的方法如下: 1.在工资表右侧建立一升序数字列,完成后再复制该列,重复粘贴一次在该列底部.2.对该表排序:“开始”-->“排序和筛选”-->自定义排序.在对话框 ...
- XE5 Android 开发实现手机打电话和发短信 [转]
其实都可以通过intent和URI调用系统功能.Windows程序员可以理解成是ShellExecute.这个是万金油.可以有调用各种功能.后面会介绍. 1.短信息.很简单 方法a.不使用Intent ...
- Nuke中新建线程的方法
最近维护合成部门的nuke工具包,发现不少工具的使用方法都很个人化,没有说明文档.这也导致artist在使用工具的时候比较感性,调整参数的时候缺少前后逻辑,长此以往,artist会产生这种意识:只要最 ...
- C# .NET 2.0 判断当前程序进程是否为64位运行时 (x64)
public static bool Is64BitProcess() { ; }
- 黄聪:实用WordPress SQL查询方法
为所有文章和页面添加自定义字段 这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段. 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把 ...
- PHP $a='abcdef';请取出$a的值并打印第一个字母
echo $a[0];echo $a{0};echo chr(ord($a));echo substr( $a, 0,1);
- Python单元测试框架之pytest 4 -- 断言
From: https://www.cnblogs.com/fnng/p/4774676.html Python单元测试框架之pytest -- 断言 2015-08-31 23:57 by 虫师, ...
- 【mysql】MySQL知识整理-死锁分析-性能优化等
[[TOC]] 常用操作指令 show databases:显示所有的数据库: use dbName: 使用指定数据库 show tables: 显示所有的数据表: desc tableName: 查 ...
- SpringMVC---400错误The request sent by the client was syntactically incorrect ()
在SpringMVC中使用@RequestBody和@ModelAttribute注解时遇到了很多问题,现记录下来. @ModelAttribute这个注解主要是将客户端请求的参数绑定参数到一个对象上 ...