网络上看到鱼C的Python入门课程不错,语言风格也引人入胜,想做个实验,这东西到底好不好入门,

就把这个视频推荐给老婆,让他试着学一下,做足了老婆的工作。

这不,这两天她很上心,学得很有成就感,我也顺便帮他做了一个小Demo.如下,从百度的API中取天气情况并解析打印出来

代码如下,内有注释

  1. # -*- coding: utf-8 -*-
  2. ## 从网络上获取北京的天气,源码来源于网络,自己封装
  3. import sys, urllib, urllib.request, json
  4.  
  5. #百度的公开API,可以调用的服务有很多
  6. url = 'http://apis.baidu.com/apistore/weatherservice/weather?citypinyin='
  7.  
  8. city=input("请输入你想查询的城市的拼音,不用空格分隔:")
  9.  
  10. url+=city
  11.  
  12. #创建URL请求
  13. req = urllib.request.Request(url)
  14.  
  15. #添加请求头,后面的apiKey,注册百度账号后可以从百度上得到
  16. req.add_header("apikey", "你的apikey")
  17.  
  18. #从网络上读取返回结果
  19. resp = urllib.request.urlopen(req)
  20.  
  21. #返回的结果是bytes
  22. content = resp.read()
  23.  
  24. if(content):
  25. print("")
  26. print("下面是从网络取到的原始字符串,可以用Notepad++格式化后查看:")
  27. print(content)
  28.  
  29. #默认用UTF-8格式解析,可以换成其他的编码解析
  30. decodejson = json.loads(content.decode())
  31.  
  32. #先不进行错误的判断
  33.  
  34. #网上可以找到JSON解析的类型转换表
  35. retData=decodejson["retData"]
  36. print("\n下面是解析返回的天气结果:")
  37. print(retData)
  38.  
  39. print("")
  40. print("城市:",retData["city"])
  41. print("城市拼音:",retData["pinyin"])
  42. print("城市代码:",retData["citycode"])
  43. print("发布日期:",retData["date"])
  44. print("发布时间:",retData["time"])
  45. print("天气:",retData["weather"])
  46. print("温度:",retData["temp"])
  47. print("最低温度:",retData["l_tmp"])
  48. print("最高温度:",retData["h_tmp"])
  49. print("风向:",retData["WD"])
  50. print("风力:",retData["WS"])
  51. print("日出时间:",retData["sunrise"])
  52. print("日落时间:",retData["sunset"])
  53.  
  54. print ("\n完成!谢谢使用\n")

从百度API中获取天气的更多相关文章

  1. Vue3 组合式 API 中获取 DOM 节点的问题

    模板引用 Vue 提供了许多指令让我们可以直接操作组件的模板.但是在某些情况下,我们仍然需要访问底层 DOM 元素.在模板中添加一个特殊的属性ref就可以得到该元素. 访问模板引用 <scrip ...

  2. requests从api中获取数据并存放到mysql中

    python的requests库是一个非常强大的库,requests的安装方法十分简单,用: pip install requests 即可安装requests,安装成功后: import reque ...

  3. .Net Core api 中获取应用程序物理路径wwwroot

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classi ...

  4. 从 falcon api 中获取数据

    import json import time import requests openfalcon = 'http://ip:port/api/v1' user = 'user' password ...

  5. 百度API调用实例

    今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...

  6. 【转】百度API获取城市名地名(附源码)

    在做一个软件时,用到了定位功能.网上有很多关于google 的GPS定位,但网上关于google定位都没有用, 搜索下原因:(这里建议大家在中国就尽量不使用系统自带的定位) 因为Google的服务器不 ...

  7. 百度api:根据经纬度获取地理位置信息

    调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...

  8. .net根据经纬度获取地址(百度api)

    private string GetAddress(string lng, string lat) { try { string url = @"http://api.map.baidu.c ...

  9. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

随机推荐

  1. HDFS 的可靠性

    HDFS 的可靠性主要有一下几点: 冗余副本策略 机架策略 心跳机制 安全模式 效验和 回收站 元数据保护 快照机制 1.冗余副本策略 可以在hdfs-site.xml中设置复制因子指定副本数量 所有 ...

  2. nginx+ tomcat集群+动静资源分离

    不知道为什么这个随便删不掉,写了也值显示一半一半不显示, 我把重新写了一遍: nginx + tomcat集群和动静资源分离

  3. spoj 345

    DP  想了好久  还是看了一下题解.... f[i][j]表示i到j全部合并后的最小花费,f[i][j] = min{f[i][k]+f[k+1][j]+d[i][k]*d[k+1][j]} (i ...

  4. jsp request.getParameterValues获取数组值代码示例

    tt.jsp <form action="tt2.jsp" method="POST"> <select name="two&quo ...

  5. 【leetcode】Trapping Rain Water(hard)

    Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...

  6. POJ1260Pearls

    http://poj.org/problem?id=1260 题意 :这个题大概是讲,给你几种等级不同的珠宝,然后告诉你它的数量和价值,等级是升序排列的,且随等级的升高价值也随之升高,但为了防止有的客 ...

  7. xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!

    1:Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题 问题描述: Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边.在iO ...

  8. [itint5]区间相交

    http://www.itint5.com/oj/#14 要记录原来的索引,所以用了额外的空间,新生成一个结构.如果要省空间,可以用指针来排序,最后拿指针减去索引0的位置就是index,见:http: ...

  9. iOS 图片背景模糊效果

    iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...

  10. ANDROID_MARS学习笔记_S01_010日期时间控件

    1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...