php解析和风天气api,API爬取天气预报数据
API爬取天气预报数据
"""
该网站为个人开发者提供免费的天气预报数据,自行访问官网注册,在控制台看到个人的key。
然后看API文档,基本可以开发了,有访问次数限制。
"""
爬取数据代码
import requests
import time
import pymongo
"""
和风天气API提供了3000多个城市的天气预报,我们先获取这些城市的cid,
再循环获取3000个城市的天气预报,
存入mongodb
"""
#建立mongodb的连接
client=pymongo.MongoClient(host="localhost",port=27017)
#建立数据库weather
book_weather=client['weather']
#在weather数据库中建立集合:sheet_collection_1
sheet_weather=book_weather['sheet_collection_1']
1:获取网站给我们提供的天气预报csv文件。
#获取city的cid地区/城市IDCN101080402
#:获取城市列表的url
url="https://a.hecdn.net/download/dev/china-city-list.csv"
#请求ulr
strhtml=requests.get(url)
strhtml.encoding='utf-8'
#返回字符串内容,csv格式
data=strhtml.text
# print(data)
#转为列表
data1=data.split('\r')
#去除前两行标题头
for i in range(2):
data1.remove(data1[0])
for item in data1:
# print(item[0:12])
2:调用接口获取数据
weather_url='https://free-api.heweather.net/s6/weather/now?location='+item[0:12].strip()+'&key=13e99fe03be0440cb9ff12e2edfe1ab6'
# print(weather_url)
weather_html=requests.get(weather_url)
weather_html.encoding="utf-8"
time.sleep(2)
# print(weather_html.text)
dic=weather_html.json()
3:通过在线json解析工具,找到我们需要的数据,再插入到mongodb中
city=dic["HeWeather6"][0]["basic"]["location"]
twt=dic["HeWeather6"][0]["now"]["tmp"]
ws=dic["HeWeather6"][0]["now"]["cond_txt"]
w_date=dic["HeWeather6"][0]["update"]["loc"]
#插入数据到mongodb中
sheet_weather.insert_one({"城市":city,"气温":twt,"天气情况":ws,"天气日期":w_date})
print("城市代码:{0}".format(item[0:12].strip()))
4调试能获取到想要的数据之后,
传到linux系统中运行
ubuntu@ubuntu:~$ rz -y
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl...
100% 451 KB 451 KB/sec 00:00:01 0 Errors
#安装pymongo
ubuntu@ubuntu:~$ pip3 install pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl
Defaulting to user installation because normal site-packages is not writeable
Processing ./pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl
Installing collected packages: pymongo
Successfully installed pymongo-3.10.1
#运行
ubuntu@ubuntu:~$ nohup python get_city.py &
[1] 12938
ubuntu@ubuntu:~$ nohup: ignoring input and appending output to 'nohup.out'
#查看,输出
ubuntu@ubuntu:~$ tail -f nohup.out
城市代码:CN101010100
城市代码:CN101010200
城市代码:CN101010300
城市代码:CN101010400
城市代码:CN101010500
城市代码:CN101010600
php解析和风天气api,API爬取天气预报数据相关推荐
- 【爬虫】2.6 实践项目——爬取天气预报数据
1. 项目简介 在中国天气网(http://www.weather.com.cn)中输入一个城市的名称,例如输入深圳,那么会转到地址http://www.weather.com.cn/weather1 ...
- python爬取天气预报数据,并实现数据可视化
文章目录 一.前言 二.爬取目标及结果展示 三.页面分析 四.完整代码 五.补充 六.不足(经读者反馈) 一.前言 在爬取数据时,有些数据,如图片.视频等等,爬到就是赚到:而有时候,我们爬到的可能只是 ...
- python爬取天气数据山东_Python爬取天气预报数据,并存入到本地EXCEL中-Go语言中文社区...
近期忙里偷闲,搞了几天python爬虫,基本可以实现常规网络数据的爬取,比如糗事百科.豆瓣影评.NBA数据.股票数据.天气预报等的爬取,整体过程其实比较简单,有一些HTML+CSS+DOM树等知识就很 ...
- python爬取天气预报数据并保存为txt格式_今天分享一个用Python来爬取小说的小脚本!(附源码)...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦ Python GUI制作小说下载器教学讲 ...
- Github API:爬取Github用户数据
Github API:爬取Github用户数据 引言 目标:根据给定的论文中中文作者的英文名字(实际上就是拼音),从Github上获取用户邮箱信息. 一.Github API介绍 详细的开发者文档 想 ...
- python爬去新浪微博_!如何通过python调用新浪微博的API来爬取数据
python抓取新浪微博,求教 爬手机端 可以参考的代码, #-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText ...
- python爬斗鱼直播_Python爬虫:利用API实时爬取斗鱼弹幕
原标题:Python爬虫:利用API实时爬取斗鱼弹幕 这些天一直想做一个斗鱼爬取弹幕,但是一直考试时间不够,而且这个斗鱼的api接口虽然开放了但是我在github上没有找到可以完美实现连接.我看了好多 ...
- 使用和风天气 API 10分钟搭建天气预报数据看板
本文首发:<使用和风天气 API 10分钟搭建天气预报数据看板)> 使用和风天气 API 10分钟搭建天气预报数据看板 第 1 步:注册和风天气 API 及卡拉云 (1)注册和风天气 AP ...
- python获取天气分析_Python爬取南京市往年天气预报,使用pyecharts进行分析
上一次分享了使用matplotlib对爬取的豆瓣书籍排行榜进行分析,但是发现python本身自带的这个绘图分析库还是有一些局限,绘图不够美观等,在网上搜索了一波,发现现在有很多的支持python的绘图 ...
最新文章
- 用国内镜像源pip加速安装模块
- Flutter中通过循环渲染组件
- asp连接不到我mysql里_ASP连接MYSQL问题点解决
- VTK:图片之ImageMagnify
- 远方 vs How did I fall in love with you
- 割线法求解过程_求解稀疏优化问题2——临近点方法+半光滑牛顿法
- redmine-project.net vs redmine vs trac vs apis项目管理软件选型比较
- java定义一个空数组_一个 Java 方法,最多能定义多少参数?
- C# CAD二次开发之字体替换 文字样式 处理DBText
- android怎么配置雷电模拟器,雷电模拟器设置_雷电安卓模拟器怎么设置分辨率
- 红米4x 刷android 8.0,【红米4X 安卓6.0.1救砖线刷包】免解锁MIUI V8.5.4.0.MAMCNED稳定版 精简线刷包...
- 01_多操作系统课题研究[2011-01-21]
- 继微博之后,.fans建站成饭圈新宠
- 彻底搞懂二进制、进制换算如此简单!十进制转化二进制,二进制转化十进制
- 哈哈日语 日语五十音学记资料汇编
- 服务器只读团体字信息,服务器团体名配置
- 机器学习——贝叶斯算法(一)
- 活期存款利息的计算方法
- 1.7.1 容器类数据-列表
- 微计算机断层扫描的用途以及测试样品要求
热门文章
- 淘宝店小蜜配置手册——店小蜜模式的设置
- 华为智慧屏 招一招新玩法,手机操控智慧屏,视频搜索,播放控制,截图分享轻松搞定
- jQuery 插件安装
- PTA练习-- 寻宝,小明有一张藏宝图,上面有m*n个房间,每个房间里面都有一个有一定价值的宝物,小明只能从左上角的房间进入收集宝物...(动态规划)
- 如何制造一个Android智能手机
- 三大视频网站的会员争抢大战,电商化成为趋势?
- window系统 选择性粘贴 快捷键
- 《让你少奋斗10年的工作经验》引出的思考
- 网络与计算机加密解密驱动,嵌入RSA加密算法网络加密卡驱动程序的实现
- 【svn】svn报错refers to a file, not a directory和File out of date解决办法