利用 Python 从互联网公开服务中获取天气预报信息。天气信息来源网站:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
实现以下函数:
(1)获取支持城市:
函数原型: def get_support_city(province)
参数 province:字符串,省份名称,如“陕西”
返回值:字典类型,Key 为城市名称,Value 为城市代码;如:{'西安': '57036', '韩城': '53955',
'安康': '57245', '汉中': '57127', '宝鸡': '57016''}
提示:采用 getSupportCity 服务。
(2)获取天气:
函数原型: def get_weather(name)
参数 name:字符串,城市名称。
返回值:字符串,网站返回记录中的“今日天气实况”内容,如“今日天气实况:气温:
3℃;风向/风力:西北风 2 级;湿度: 66%;紫外线强度:最弱。空气质量:中。”
提示:采用 getWeatherbyCityName 服务。
参考网站:
https://blog.csdn.net/cw123458945/article/details/8146984
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
Web 可编程资源
http://www.programmableweb.com/

#!/usr/bin/python
# -*- coding: UTF-8
import json
import urllib.request
from urllib.parse import quote
import string
from xml.dom import minidom #12.获取当前天气情况

欢迎光临程序代写小店https://item.taobao.com/item.htm?spm=a230r.1.14.59.255028c3ALNkZ0&id=586797758241&ns=1&abbucket=15#detail

欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL

群号:733065427


#(1)获取支持城市
def get_support_city(province):
pass
url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity?byProvinceName='+province
url = quote (url, safe=string.printable)
ret=urllib.request.urlopen(url)
txt=ret.read().decode('utf-8')
string_str=''
key_value=''
key_value_list=[]
word_flag=0
# print (txt)
for i in txt:
string_str += i
# print(string_str)
if string_str.replace(' ','').replace('\t','').replace('\n','').replace('\r','')== '<string>':
# print ('---------------------------string_str')
word_flag = 1
if i=='>':
string_str=''
if word_flag==1:
key_value+=i
# print(key_value,'*************************************')
else:
key_value=''
if i=='<' and word_flag==1:
key_value_list.append(key_value.replace('<','').replace('>','').replace('(','').replace(')',''))
key_value=''
word_flag=0
# print(key_value_list)
support_city={}
for i in key_value_list:
# print(i)
word=i.split(' ')
support_city[word[0]]=word[1]
# print(support_city)
return support_city
#(2)获取天气
def get_weather(name):
page = urllib.request.urlopen("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName="+name)
lines = page.readlines()
page.close()
document = ""
for line in lines :
document = document + line.decode('utf-8') from xml.dom.minidom import parseString
dom =parseString(document)
strings = dom.getElementsByTagName("string")
print ('今日天气实况:',strings[10].childNodes[0].data) if __name__ == '__main__':
pass
province=input('请输入要查询的省份:')
province = quote (province, safe=string.printable)
support_city=get_support_city(province)
print(support_city)
name=input('请在上述城市中选择城市:')
# name = quote (name, safe=string.printable)
name=support_city[name]
city_weather = get_weather (name)

python获取当前天气情况的更多相关文章

  1. webService获取电话号归属地和获取天气情况步骤,及创建属于自己的webservice

    一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...

  2. 解析中国天气网页面获取七日天气 (Java, Python)

    说明 解析中国天气网的页面,获取七日天气. 使用 htmlparser .这是它的 API 文档. 代码 SevenDayWeather.java import java.io.BufferedRea ...

  3. python获取网站http://www.weather.com.cn 城市 8-15天天气

    参考一个前辈的代码,修改了一个案例开始学习beautifulsoup做爬虫获取天气信息,前辈获取的是7日内天气, 我看旁边还有8-15日就模仿修改了下.其实其他都没有变化,只变换了获取标签的部分.但是 ...

  4. python 获取天气信息,并绘制曲线

    import urllib.request import gzip import json print('------天气查询------') def get_weather_data() : cit ...

  5. 基于python编写的天气抓取程序

    以前一直使用中国天气网的天气预报组件都挺好,可是自从他们升级组件后数据加载变得非常不稳定,因为JS的阻塞常常导致网站打开速度很慢.为了解决这个问题决定现学现用python编写一个抓取程序,每天定时抓取 ...

  6. Python爬虫-播报天气信息(生成exe文件)待续

    #!/usr/bin/env python3 # -*- coding : utf-8 -*- '''1.从https://my.oschina.net/joanfen/blog/140364获取要播 ...

  7. 用 Python 编写一个天气查询应用

    效果预览: 一.获取天气信息 使用python获取天气有两种方式. 1)是通过爬虫的方式获取天气预报网站的HTML页面,然后使用xpath或者bs4解析HTML界面的内容. 2)另一种方式是根据天气预 ...

  8. 用 Python 编写一个天气查询应用 pyqt5

    ​ 效果预览: !   ​ 一.获取天气信息 使用python获取天气有两种方式. 1)是通过爬虫的方式获取天气预报网站的HTML页面,然后使用xpath或者bs4解析HTML界面的内容. 2)另一种 ...

  9. 通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~

    昨天菜鸟小白给大家留了一个课后作业,如何实现天气的定时推送.有没有小伙伴做出来答案呢?今天菜鸟小白给大家分享我的实现方式吧.这个是我今天整的程序流程图,昨天我们还只是实现了中间的通过和风天气API获取 ...

随机推荐

  1. shell 学习笔记8-case条件语句

    一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...

  2. 使用Dockerfile构建镜像并push到私有仓库

    环境:OS X 10.10.5 maven 3.3.9 Docker version 1.12.2 docker-machine version 0.8.2 程序示例为http://www.cnblo ...

  3. 在论坛中出现的比较难的sql问题:18(字符合并 整数解析星期几)

    原文:在论坛中出现的比较难的sql问题:18(字符合并 整数解析星期几) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得 ...

  4. DotNet 使用阿里云媒体转码服务

    公司项目中一部分文件放到了阿里云 OSS 上,其中有些音频文件是 amr 类型的,在后期使用的时候比较麻烦,所以需要转换成 mp3 的文件,方便以后使用.本来想使用 ffmpeg 处理,但由于文件都存 ...

  5. Java Web-Redis学习

    Java Web-Redis学习 基本概念 Redis是一款高性能的NOSQL系列的.非关系型数据库 NOSQL:not only SQL,是一系列非关系型数据库的总称,例如radis.hbase等数 ...

  6. css中哪些属性会脱离文档流

    一共有三个属性会使元素脱离文档流: (1)浮动 (2)绝对定位 (3)固定定位 元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中

  7. 将网址url中的参数转化为JSON格式的两种方法

    在我们进入主题前,我先先看下获取网址URL的方法: window.location.href // 设置或获取整个URL为字符串 window.location.hash // 设置或获取href属性 ...

  8. X5内核浏览器video自动全屏解决办法-canvas

    最近在做手机端上面播放视频的项目,但是在安卓上面,video的播放是脱离页面,置于最顶层的,所以带来了很多问题,为了解决这个问题,查看了多方资料,写了下面简单的demo,方便以后使用. 下面就是运用c ...

  9. mysql日期模糊查找的方法

    Mysql模糊查询有以下三种方法: 1.Convert转成日期时间型,在用Like查询.select * from table1 where convert(date,DATETIME) like ' ...

  10. xshell退出保持后台服务运行的方法

    Linux后台启动了一个服务,但是退出命令终端后或者退出xshell后,服务就关闭了,要想保持后台服务一直启动,可以使用下面的命令来启动服务 #nohup python3.6 /opt/testman ...