设为首页 收藏本站
查看: 1173|回复: 0

[经验分享] python技巧31[调用webservice]

[复制链接]

尚未签到

发表于 2015-4-22 12:23:44 | 显示全部楼层 |阅读模式
  
  webservice提供方:
  http://www.webxml.com.cn/zh_cn/web_services.aspx
  
  天气预报webservice:
  http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx
  
  一 使用urllib + xml.dom.minidom通过http get的方式来使用webservice:
  例如上海的天气:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=58367
  httpget返回:


  
-
  直辖市
  上海
  58367
  58367.jpg
  2011-1-4 14:40:22
  1℃/5℃
  1月4日 晴转多云
  北风4-5级转3-4级
  0.gif
  1.gif
  今日天气实况:气温:4℃;风向/风力:东风 小于3级;湿度:41%;气压:1026.3hPa;空气质量:良;紫外线强度:弱
  穿衣指数:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。感冒指数:天气寒冷,昼夜温差极大且风力较强,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。运动指数:天气较好,气温很高,请减少运动时间并降低运动强度,又因紫外线强且风力较大,户外运动避风防晒。洗车指数:较适宜洗车,未来持续两天无雨,但考虑风力较大,擦洗一新的汽车会蒙上灰尘。晾晒指数:天气晴朗,午后温暖的阳光仍能满足你驱潮消霉杀菌的晾晒需求。旅游指数:天气晴朗,万里无云,温度稍低,加之风稍大,让人感觉有点凉,会对外出有一定影响,外出注意防风保暖。路况指数:晴天,其它条件适宜,路面比较干燥,路况较好。舒适度指数:白天天气较凉,且风力较强,您会感觉偏冷,不很舒适,请注意添加衣物,以防感冒。
  1℃/6℃
  1月5日 多云转阴
  北风3-4级转4-5级
  1.gif
  2.gif
  0℃/5℃
  1月6日 阴转多云
  北风4-5级
  2.gif
  1.gif
  上海简称:沪,位置:上海地处长江三角洲前缘,东濒东海,南临杭州湾,西接江苏,浙江两省,北界长江入海,正当我国南北岸线的中部,北纬31°14′,东经121°29′。面积:总面积7823.5平方公里。人口:人口1000多万。上海丰富的人文资源、迷人的城市风貌、繁华的商业街市和欢乐的节庆活动形成了独特的都市景观。游览上海,不仅能体验到大都市中西合壁、商儒交融、八方来风的氛围,而且能感受到这个城市人流熙攘、车水马龙、灯火璀璨的活力。上海在中国现代史上占有着十分重要的地位,她是中国gcd的诞生地。许多震动中外的历史事件在这里发生,留下了众多的革命遗迹,处处为您讲述着一个个使人永不忘怀的可歌可泣的故事,成为包含民俗的人文景观和纪念地。在上海,每到秋祭,纷至沓来的人们在这里祭祀先烈、缅怀革命历史,已成为了一种风俗。大上海在中国近代历史中,曾是风起云涌可歌可泣的地方。在这里荟萃多少风云人物,散落在上海各处的不同住宅建筑,由于其主人的非同寻常,蕴含了耐人寻味的历史意义。这里曾留下许多革命先烈的足迹。瞻仰孙中山、宋庆龄、鲁迅等故居,会使您产生抚今追昔的深沉遐思,这里还有无数个达官贵人的住宅,探访一下李鸿章、蒋介石等人的公馆,可以联想起主人那段显赫的发迹史。
    
  代码:


def TestUrlOpen():
  import urllib.request
  page = urllib.request.urlopen("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=58367")
  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[6].childNodes[0].data + " " + strings[7].childNodes[0].data)  
  输出如下:
  1月4日 晴转多云 北风4-5级转3-4级
  
  二 使用suds来使用webservice:
  https://fedorahosted.org/suds/
  suds web services client 是轻量级的基于soap的python web services client。
  suds安装:python31 setup.py install
  suds安装的错误:ImportError: No module named client
  
  代码:


def TestSuds() :
  from suds import WebFault
  from suds.client import Client
  url = 'http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL'
  client = Client(url)
  print (client)
  print (client.service.getWeather('58367'))  
  
  三 其他的使用webservice的方式:
  http://pywebsvcs.sourceforge.net/
  
  参考:
  http://www.pyfun.com/shenru/201012/3060.html
  http://www.iyouf.info/parse-weather-with-python.html
  https://fedorahosted.org/suds/wiki/Documentation
  完!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59619-1-1.html 上篇帖子: python的3.2的一些注意事项 下篇帖子: python类库31[进程subprocess]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表