• 从百度API中获取天气


      网络上看到鱼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("
    下面是解析返回的天气结果:")
    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 
    55 print ("
    完成!谢谢使用
    ")

    每天进步一点点,有时间先装修空间哈

  • 相关阅读:
    python convert csv to xlsx
    org.openqa.selenium.remote.SessionNotFoundException: The FirefoxDriver cannot be used after quit() was called.
    Selenium webdriver 操作日历控件
    SVN eclipse插件错误
    java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0的错误
    如何获取web中某个元素的id
    Selenium 进行web自动化测试
    Navicat远程连接MySQL数据库
    Linux grep命令详解
    Linux awk命令详解
  • 原文地址:https://www.cnblogs.com/dhf327/p/4674051.html
Copyright © 2020-2023  润新知