设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 12257|回复: 2
打印 上一主题 下一主题

调用天气接口

[复制链接]

2

主题

0

好友

16

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-6-6 14:07:30 |只看该作者 |倒序浏览
city_name = raw_input('请输入要查询的城市:\n')
address = 'https://www.sojson.com/open/api/weather/json.shtml?city=%s'%(cityname)
url = (address)
city_info = urllib2.urlopen(url).read()
print city_info['data']['quality']
Traceback (most recent call last):
  File "F:/PythonWorkSpace/firstPython/citycode.py", line 151, in <module>
    print dict(city_info['data']['quality'])
TypeError: string indices must be integers, not str


print city_info


QQ截图20180606140430.png (87.46 KB, 下载次数: 364)

print city_info

print city_info

回复

使用道具 举报

2

主题

0

好友

16

积分

新手上路

Rank: 1

沙发
发表于 2018-6-6 14:11:33 |只看该作者
city_info = {
    "date": "20180606",
    "message": "Success !",
    "status": 200,
    "city": "上海",
    "count": 1225,
    "data": {
        "shidu": "75%",
        "pm25": 81.0,
        "pm10": 84.0,
        "quality": "轻度污染",
        "wendu": "23",
        "ganmao": "儿童、老年人及心脏、呼吸系统疾病患者人群应减少长时间或高强度户外锻炼",
        "yesterday": {
          "date": "05日星期二",
          "sunrise": "04:50",
          "high": "高温 27.0℃",
          "low": "低温 21.0℃",
          "sunset": "18:55",
          "aqi": 124.0,
          "fx": "西南风",
          "fl": "<3级",
          "type": "阴",
          "notice": "不要被阴云遮挡住好心情"
        }
    }
}
print type(city_info)
print city_info['data']['quality']

代码这样写,是可以取到quality的值。但直接从接口那取的就不行。。。求解。。。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2018-6-6 17:17:36 |只看该作者
直接接口拿到的是字符串不是dict
要转也是用 json.loads 转
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 10:34 , Processed in 0.014748 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部