设为首页收藏本站

Crossin的编程教室

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

【Python 第44课】 查天气(2)

  [复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

231#
发表于 2018-6-7 17:20:45 |只看该作者
startforever 发表于 2018-6-7 14:08
crossin先生,你好:
       下面报错,怎么解决。
python3.5:

如果你是windows且没做过编码设置,就把代码里的utf8都改成gbk,两个文件都要改
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

232#
发表于 2018-6-7 17:58:36 |只看该作者
用了一楼同学的方法,但是一直报403的错误,走不下去了,求教

1.png (98.93 KB, 下载次数: 213)

1.png

回复

使用道具 举报

0

主题

0

好友

26

积分

新手上路

Rank: 1

233#
发表于 2018-6-7 17:58:55 |只看该作者
crossin先生 发表于 2018-6-7 17:20
如果你是windows且没做过编码设置,就把代码里的utf8都改成gbk,两个文件都要改 ...

2个文件开头都加了 # coding=gbk,
还是报错
  File "D:\workspace\less\test2\weather_tst1.py", line 1
SyntaxError: encoding problem: gbk
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

234#
发表于 2018-6-7 21:44:22 |只看该作者
suiersoda 发表于 2018-6-7 17:58
用了一楼同学的方法,但是一直报403的错误,走不下去了,求教

有可能接口问题,看下查天气1开头的说明,换个接口试试
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

235#
发表于 2018-6-7 21:46:40 |只看该作者
startforever 发表于 2018-6-7 17:58
2个文件开头都加了 # coding=gbk,
还是报错
  File "D:\workspace\less\test2\weather_tst1.py", line 1 ...

你的文件格式可能有问题,用idle重新建一个,或者找个能设置编码的编辑器。不要用windows自带记事本,也不要用带BOM的utf8
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

236#
发表于 2018-6-8 10:31:42 |只看该作者
换了一个接口,但是一直报编码错误,发现网页返回的是gzip的数据,还需要对数据进行解压,网上查了一些相关资料写的,出来的结果虽然觉得还是有一点奇怪,但是起码不是报错和乱码的了
环境是python3
  1. #-*- coding: UTF-8 -*-
  2. import urllib.request
  3. import json
  4. from city import city
  5. import gzip

  6. cityname=input('你要查询的城市名称:')

  7. citycode=city.get(cityname)
  8. if citycode:
  9.     url=("http://wthrcdn.etouch.cn/weather_mini?citykey=%s"%citycode)
  10.     response=urllib.request.urlopen(url).read()
  11.     #print(response)
  12.     try:
  13.         content = gzip.decompress(response).decode("utf-8")
  14.     except:
  15.         content=response.decode("utf-8")
  16.     print(content)
复制代码
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

237#
发表于 2018-6-8 11:11:50 |只看该作者
suiersoda 发表于 2018-6-8 10:31
换了一个接口,但是一直报编码错误,发现网页返回的是gzip的数据,还需要对数据进行解压,网上查了一些相关 ...

gzip解压帖子里也有写
或者可以用 requests 来抓,更简单
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

238#
发表于 2018-6-8 11:53:23 |只看该作者
crossin先生 发表于 2018-6-8 11:11
gzip解压帖子里也有写
或者可以用 requests 来抓,更简单

刚刚看3的回复才发现先生已经给出相关的解答了,昨天我还自己找问题找了好久,我再去研究一下用更简单的方法,谢谢先生!
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

239#
发表于 2018-7-4 10:46:22 |只看该作者
crossin先生
为啥我进行到第一步就进行不下去了,我用的是MAC上的pycharm 用的是python3.7  在pycharm里增加模块只能增加urllib3 urllib4 urllib5,另外我想问一下咱们也没有微信群之类的方便及时交流的

WechatIMG3402.jpeg (342.77 KB, 下载次数: 203)

WechatIMG3402.jpeg

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

240#
发表于 2018-7-4 11:56:38 |只看该作者
495611518 发表于 2018-7-4 10:46
crossin先生
为啥我进行到第一步就进行不下去了,我用的是MAC上的pycharm 用的是python3.7  在pycharm里增 ...

urllib.request.urlopen()
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-5-1 18:00 , Processed in 0.028395 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部