高德地图 天气java_高德地图API获取天气
#coding:utf8#------------------------------------------------------#Filename: getWeather.py#Revision: 1.0#Date: 2018/08/17#Author: Jim#Description:#Notes: 通过调用高德API获取天气数据#key: 6ca7b720f2ab2a48f749c1e19c3d1c47#高德API相关文档: https://lbs.amap.com/api/#获取天气: https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=#如:https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=6ca7b720f2ab2a48f749c1e19c3d1c47#------------------------------------------------------
importtime, re, os, sys, time,urllib2,shutil,stringimportjson,datetime,MySQLdbfrom dateutil.parser importparse#设置utf-8编码格式
reload(sys)
sys.setdefaultencoding("utf-8")#获取当前日期的前n天
def getbeforeDay(n=0):
now_time=datetime.datetime.now()
beforeday= now_time -datetime.timedelta(n)return beforeday.strftime("%Y%m%d")
scriptDir=os.getcwd()if len(sys.argv) > 1:
job_date_id= sys.argv[1]else:
job_date_id=getbeforeDay(0)print "当前脚本路径:%s,当前参数日期:%s" %(scriptDir,job_date_id)#保存数据到文件文件
def saveContext(filename,*name):
format= '^'dev_prd_flag= 'prd'context=name[0]for i in name[1:]:
context= context + format +str(i)
context= str(context).replace('(','(').replace(')',')').replace(',',',').replace(':',':')if dev_prd_flag != 'prd':printcontextelse:#去除文件路径名首位空格
filename =filename.strip()#读取目录名称
path =os.path.dirname(filename)#如果目录不存在则创建目录
if notos.path.exists(path):
os.makedirs(path)#读取文件名称,以追加的方式写文件
name =os.path.basename(filename)
fp= open(filename,'a')
fp.write(context+'\n')
fp.close()#获取网页文件
def getHtml(url,code='utf-8'):
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER'}
request= urllib2.Request(url,headers=headers)
response= urllib2.urlopen(request,data=None,timeout=60)
html=unicode(response.read(),str(code))returnhtmlclassConMysql():def __init__(self,host='192.168.122.140',user='shutong',passwd='shutong',db='edw'):print "连接mysql数据库"
try:
conn=MySQLdb.connect(
host=host,
port= 3306,
user=user,
passwd=passwd,
db=db,
charset='utf8',
)
self.conn=connprint "连接mysql成功"
except:print "连接mysql失败"
defexecSQL(self,sql):print "执行语句:%s" %(sql)
cur=self.conn.cursor()
cur.execute('set character_set_client = utf8')
cur.execute('set character_set_server = utf8')
cur.execute('set character_set_connection = utf8')
cur.execute('set character_set_results = utf8')
cur.execute('set collation_connection = utf8_general_ci')
cur.execute('set collation_server = utf8_general_ci')
result=cur.fetchmany(cur.execute(sql))
cur.close()
self.conn.commit()returnresult'''析构方法'''
def __del__(self):ifself.conn:
self.conn.close()else:passadcode= "110000"key= "6ca7b720f2ab2a48f749c1e19c3d1c47"
defcrawl_weather(adcode):
url= "https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=%s" %(adcode,key)
html=getHtml(url)
jsondata=json.loads(html)#省份
province = jsondata['lives'][0]['province']#市
city = jsondata['lives'][0]['province']#区域编码
adcode = jsondata['lives'][0]['adcode']#天气现象
weather = jsondata['lives'][0]['weather']#实时气温 摄氏度
temperature = jsondata['lives'][0]['temperature']#风向
winddirection = jsondata['lives'][0]['winddirection']#风力
windpower = jsondata['lives'][0]['windpower']#空气湿度
humidity = jsondata['lives'][0]['humidity']#数据发布时间
reporttime = jsondata['lives'][0]['reporttime']#日期
date_id = parse(reporttime).strftime('%Y%m%d')#小时
hour_id = parse(reporttime).strftime('%H')printprovince,city,adcode,weather,temperature,winddirection,windpower,humidity,reporttime,date_id,hour_id
sql= "insert ignore into fact_weather_adcode_day values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" %(province,city,adcode,weather,temperature,winddirection,windpower,humidity,reporttime,date_id,hour_id)printsql
conn.execSQL(sql)
conn=ConMysql()
crawl_weather(adcode)
高德地图 天气java_高德地图API获取天气相关推荐
- android自动获取天气,android通过google api获取天气信息示例
android通过google API获取天气信息 public class WeatherActivity extends Activity { private TextView txCity; p ...
- 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)
之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...
- python 获取天气_Python实现从百度API获取天气的方法
本文实例讲述了Python实现从百度API获取天气的方法.分享给大家供大家参考.具体实现方法如下: __author__ = 'saint' import os import urllib.reque ...
- android调用在线天气服务,android通过google api获取天气信息示例
android通过google API获取天气信息 复制代码 代码如下: public class WeatherActivity extends Activity { private TextVie ...
- php获取天气组件,php获取中国天气,中国天气插件说明,根据IP获取天气情况
PHP » 编程开发 » php获取中国天气,中国天气插件说明,根据IP获取天气情况 php获取中国天气,中国天气插件说明,根据IP获取天气情况 今天客户端需要获取天气情况,于是查询了一下! 看一下要 ...
- 【微信小程序】免费的高德地图api——获取天气(全过程)
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- Android中基于心知天气API获取天气信息
Android中基于心知天气获取天气信息 JSON JSON简介 JSON对象 JSON数组 JSON解析 Android中获取天气 获取天气的流程 获取心知天气的API key 获取心知天气的API ...
- php通过api获取天气信息,调用API获取城市天气信息
Code: /* 调用API获取指定城市的天气数据,并输出 */ echo ""; $url="http://m.weather.com.cn/data/10121010 ...
- STM32使用ESP8266模块AT指令连接心知天气API获取天气信息
由于之前使用STM32单片机来开发一些物联网的小项目,接触到了WIFI模块ESP8266,所以写下来记录一下.本文主要介绍的是STM32通过发送AT指令集来控制ESP8266 WIFI模块连接WiFi ...
- 利用中央气象台的API获取天气
小项目算是用三层结构来构架,最上面一层就不写了,直接在service层测试. 中央气象台的接口标准文档我没找到,所以也是参照了别人的应用自己写了一个.. 目录结构为: 这个是根节点 http://fl ...
最新文章
- 中国首份自动驾驶路测报告:自主车企全面落后
- 小郭经典mysql面试题资料_程序员经典面试题,Mysql是如何完成一次数据查询的...
- linux内核网络协议栈--架构分析(十八)
- php连接电脑,PHP_深入理解php的MySQL连接类,无意间在电脑里发现还有这么 - phpStudy...
- 第三次学JAVA再学不好就吃翔(part100)--文件名称过滤器
- SAP Spartacus storefront.component.html 里的 SkipLinkComponent 如何创建的
- [No000014]听说不背单词,考英语会是这种下场-我们为什么必须背单词?
- 天不知道地知道你不知道我知道谜底_冷门还免费!宝鸡这几个小众红叶观赏地,资深老司机都不一定知道...
- C++ Socket通信类的封装(还有点小bug)
- 关于pytorch GPU版本安装的问题
- java在文本域内添加按钮_JAVA中在窗体中添加了一个文本框,然后再文本框中输入字符,如何...
- centos bond配置文件示例
- 现在电脑的主流配置_2019~2020电脑配置清单主流配件(下)
- 聚聚科技---PHP开发笔试题及答案
- Mstar官网下载转换成jpg格式的保姆级教程
- win10 企业版激活
- 论本我、自我、超我对人工智能的启示
- 简述FPGA的一些优势
- Android Q 下拉状态栏快捷开关解析
- STM32通用定时器实现us微秒延时
热门文章
- [云原生专题-59]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud项目 - 手工上云部署实际过程全部操作步骤
- 小牛电动股权曝光:李彦持股4.4% 李一男持股降至28.1%
- 荐书丨10 本豆瓣高分技术图书,强烈推荐!
- 那些年你用过最好的键盘
- 小米手机android目录在哪里设置字体,[小米手机]小米手机MIUI自己制作.MTZ字体包方法 无需ROOT权限...
- 主线程启动多个子线程,子线程彼此之间并发执行,互不影响
- 点餐系统第一阶段工作总结
- php json encode 参数,PHP json_encode函数的参数说明与用法
- c语言课程设计作业心得体会,c语言课程设计总结心得
- hdu1879继续畅通工程(最小生成树kru算法)