设为首页收藏本站

Crossin的编程教室

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

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

  [复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

131#
发表于 2016-7-22 23:43:16 |只看该作者
magic233 发表于 2016-7-22 10:40
老师老师我沉船了
为了节省咱的空间我就不发图直接发代码和结果完全一样的代码这个是运行结果~~求老师教教~ ...

city.py 开头第一行也要加上 coding,因为代码里有中文。
如果你是windows,utf-8改成cp936
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

132#
发表于 2016-7-27 17:48:21 |只看该作者
请问crossin先生
是不是要得到天气的json数据必须在网站后面加上对应的城市代码?
而例如直接把天气接口
url1 = 'http://apistore.baidu.com/apiworks/servicedetail/112.html‘
就只能得到网页的代码是吗?
如果这样的话我们对一个新的天气接口怎么得到相应的省、市代码呢?
好烦 用其他接口都只得到网页代码。。。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

133#
发表于 2016-7-28 12:00:59 |只看该作者
zheyang 发表于 2016-7-27 17:48
请问crossin先生
是不是要得到天气的json数据必须在网站后面加上对应的城市代码?
而例如直接把天气接口

这个是看接口自己的设定,不同接口不一样。
你看查天气1开头那几篇文章链接里,有给过好几个接口,有不需要代码的。

比如:http://wthrcdn.etouch.cn/weather_mini?city=北京

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

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

134#
发表于 2016-7-28 12:19:22 |只看该作者
======================= RESTART: D:/python code/aha.py =======================
ヒ
>>>
以上是 # -*- coding: cp936 -*-
import urllib2
url = 'http://wthrcdn.etouch.cn/weather_mini?city=北京'
web = urllib2.urlopen(url).read()
print web
的输出结果。。  怎么这样。。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

135#
发表于 2016-7-30 23:00:16 |只看该作者
zheyang 发表于 2016-7-28 12:19
======================= RESTART: D:/python code/aha.py =======================

>>>

这里有两个注意的地方,一个是这个接口接受中文,但尝试下来编码必须是utf8。
另一个,它的返回值会进行gzip压缩,你看“查天气1”帖子里有说明和解决方案
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

136#
发表于 2016-8-11 00:51:02 |只看该作者
运行后出现这样是什么问题?
>>>

Traceback (most recent call last):
  File "C:\Python27\homework\8.py", line 4, in <module>
    from city import city
  File "C:\Python27\homework\city.py", line 2
SyntaxError: Non-ASCII character '\xe5' in file C:\Python27\homework\city.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
>>>
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

137#
发表于 2016-8-11 11:14:23 |只看该作者
刚进厂 发表于 2016-8-11 00:51
运行后出现这样是什么问题?
>>>

city.py 开头也要加上编码设置,如果是 windows,统一都用 gbk
# coding: gbk
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

138#
发表于 2016-8-11 11:25:48 |只看该作者
crossin先生 发表于 2016-8-11 11:14
city.py 开头也要加上编码设置,如果是 windows,统一都用 gbk
# coding: gbk

谢谢了,早上发现了,刚开始学总会出现一点点小问题就停滞不前了
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

139#
发表于 2016-8-14 15:35:32 |只看该作者
小坏 发表于 2013-8-8 17:34
编码问题解决分享:
我用win7的,照编码写的出了问题,返回的citycode都是None。后在群里童鞋指导下,把cit ...

感谢分享,终于解决问题了
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

140#
发表于 2016-8-15 14:13:08 |只看该作者
老师好:

我碰到的问题是这样的:

# -*- coding: utf-8 -*-
import urllib2
import json
from city import city

cityname = raw_input("please input the city name:")
citycode = city.get(cityname)
if citycode:
    web = urllib2.urlopen('http://www.weather.com.cn/data/cityinfo/%s.html' % citycode)
    content = urllib2.urlopen(web).read()
    print content



结果:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/Karl_Gong/PycharmProjects/untitled/test2.py
please input the city name:武汉
Traceback (most recent call last):
  File "/Users/Karl_Gong/PycharmProjects/untitled/test2.py", line 10, in <module>
    content = urllib2.urlopen(web).read().decode('utf-8')
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
    protocol = req.get_type()
AttributeError: addinfourl instance has no attribute 'get_type'

Process finished with exit code 1


我是在mac上面用pycharm运行的,能请老师帮忙看看是什么原因吗?
回复

使用道具 举报

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

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

GMT+8, 2024-11-22 13:43 , Processed in 0.016281 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部