设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第45课】 查天气(3)

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

31#
发表于 2016-6-29 14:28:28 |显示全部楼层
Joshtu 发表于 2016-6-28 17:01
为啥查询的天气结果,和直接在中国天气网上查询的,相差很远呢?重庆
阴转阵雨
21℃ ~ 17℃

我也发现了,这个接口好像数据是假的。参考下第一课里面给的新接口
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

32#
发表于 2016-10-8 09:50:33 |显示全部楼层
swinh 发表于 2016-10-7 19:24
# -*- coding:cp936 -*-
import urllib.request
import json

你把请求的网址print出来,放浏览器里看对不对
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

33#
发表于 2017-7-19 22:43:08 |显示全部楼层
James_Danni 发表于 2017-7-19 16:44
result = data['weatherinfo']
这一句的作用是什么

你看下data的内容就知道了。这是字典的基本操作,取 weatherinfo 这个键对应的值
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

34#
发表于 2017-8-14 19:45:36 |显示全部楼层
无知少男 发表于 2017-8-14 11:26
楼主你好,我的代码按照你的抄了一遍,为啥不成功,我把云盘city.py 文件与代码文件放在一个文件夹下
结果 ...

代码第一行要加上
  1. #coding: gbk
复制代码
两个文件都要加
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

35#
发表于 2017-9-21 13:50:51 |显示全部楼层
chchch0720 发表于 2017-9-21 10:05
先生,city.py我用的您的代码,前面也加过了cp936

应该不是编码问题
把 try...except 去掉,或者在except里输出报错信息,看看报什么错。不然报错都被你的异常处理覆盖掉了,没法看出来什么问题
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

36#
发表于 2017-9-22 22:48:31 |显示全部楼层
chchch0720 发表于 2017-9-22 09:15
Traceback (most recent call last):
  File "C:\Python27\Crossin\44weather.py", line 18, in
    res ...

那个键好像是 temp2
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

37#
发表于 2017-11-2 13:04:19 |显示全部楼层
asphodelus 发表于 2017-11-2 12:29
py3似乎不少用法都和py2不一样了,raw_input,urllib等等
为了测试方便,去掉了try except添加打印content
...

你做的是对的

你也可以用 requests 库,可以省很多事
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

38#
发表于 2017-11-23 22:31:03 |显示全部楼层
bobo0769 发表于 2017-11-23 08:26
# -*- coding: utf-8 -*-
from urllib.request import urlopen  #打开网页函数
import urllib

那说明你拿到的content不对,你要看看content是什么
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

39#
发表于 2018-1-11 15:30:43 |显示全部楼层
xiejiali 发表于 2018-1-11 07:37
老师,我用的是http://wthrcdn.etouch.cn/weather_mini?citykey=%s的接口,但是这个返回的数据有很多层,该 ...

了解下JSON格式,可以直接整个转成字典
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

40#
发表于 2018-1-12 16:32:49 |显示全部楼层
xiejiali 发表于 2018-1-12 00:54
原来是少了一层字典,没有看出来,终于搞出来了!
# -*- coding:gbk -*-
import urllib2

调试的时候可以把 try 去掉,方便看报错
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-5-19 06:29 , Processed in 0.042513 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部