设为首页收藏本站

Crossin的编程教室

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

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

  [复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

81#
发表于 2015-11-12 13:04:12 |只看该作者
我是佩佩学姐 发表于 2015-11-11 23:53
参考了楼上各种方法,最后是在idle打开city,然后修改utf-8为cp936,但是运行后,居然还是出现问题,问题反馈 ...

url 写的不对吧,http://
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

34

积分

新手上路

Rank: 1

82#
发表于 2015-11-12 13:53:14 |只看该作者
crossin先生 发表于 2015-11-12 13:04
url 写的不对吧,http://

这个我自己在查天气(3)里面发现了~谢谢先生指点
回复

使用道具 举报

1

主题

1

好友

152

积分

注册会员

Rank: 2

83#
发表于 2015-12-24 16:48:25 |只看该作者
feicien 发表于 2013-7-24 09:07
我下载的是python3.3
发现语法与python2.7有很大区别,这是我在python3.3下写的代码
加了一个while循环, ...

我也用的3.X的  确实和2.7差别很大,教程里最近这几课确实困扰了我很久,感谢你带我走出泥潭走向光明!!!!!
回复

使用道具 举报

1

主题

1

好友

152

积分

注册会员

Rank: 2

84#
发表于 2015-12-24 16:51:20 |只看该作者
feicien 发表于 2013-7-24 09:03

有点小问题想要问下,
在教程中的 content = urllib2.urlopen(url).read()
一定要写成
            request=urllib.request.Request(url)
            response=urllib.request.urlopen(request)
            content=response.read().decode("utf-8")
吗??
加这句response=urllib.request.urlopen(request)是什么意思啊??
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

85#
发表于 2015-12-24 21:48:32 |只看该作者
Kunz 发表于 2015-12-24 16:51
有点小问题想要问下,
在教程中的 content = urllib2.urlopen(url).read()
一定要写成

两个用的库不一样,都可以
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

86#
发表于 2016-1-21 23:43:17 |只看该作者
crossin先生,我直接在浏览器输入带有北京code的查天气网址,得到一个有乱码的页面内容,运行程序也报错,是什么问题呢?网址应该是存在的呀~
  1. # -*- coding: cp936 -*-
  2. import urllib2
  3. import json
  4. from city import city
  5. cityname=raw_input("Which city's weather do you want to know?\n")
  6. citycode=city.get(cityname)
  7. print citycode
  8. if citycode:
  9.     url='http://www.weather.com.cn/data/cityinfo/%s.html'%citycode
  10.     content=urllib2.urlopen(url).read()
  11.    
复制代码

Python22.png (14.34 KB, 下载次数: 429)

Python22.png

Python23.png (29.96 KB, 下载次数: 435)

Python23.png

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

87#
发表于 2016-1-22 12:32:03 |只看该作者
catherinemic 发表于 2016-1-21 23:43
crossin先生,我直接在浏览器输入带有北京code的查天气网址,得到一个有乱码的页面内容,运行程序也报错, ...

404,说明没有请求到页面
在程序中把请求的网址print出来看对不对
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

88#
发表于 2016-1-22 15:39:05 |只看该作者
crossin先生 发表于 2016-1-22 12:32
404,说明没有请求到页面
在程序中把请求的网址print出来看对不对

我这输入北京,还是显示none饿。。 cp936我试过了  没有用
代码如下:
# -*- coding: UTF-8 -*-  
import urllib2

from city import city

cityName = raw_input('请输入要查询的城市:')
userNum = city.get(cityName)
print userNum
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

89#
发表于 2016-1-22 15:39:25 |只看该作者
crossin先生 发表于 2016-1-22 12:32
404,说明没有请求到页面
在程序中把请求的网址print出来看对不对

我这输入北京,还是显示none饿。。 cp936我试过了  没有用
代码如下:
# -*- coding: UTF-8 -*-  
import urllib2

from city import city

cityName = raw_input('请输入要查询的城市:')
userNum = city.get(cityName)
print userNum
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

90#
发表于 2016-1-22 16:27:59 |只看该作者
crossin先生 发表于 2016-1-22 12:32
404,说明没有请求到页面
在程序中把请求的网址print出来看对不对

今天按照您说的试了一下,citycode返回正确,网址print出来没有问题,也没有出现昨天的问题,但是没有返回任何天气内容,直接就结束了,为什么呢?
  1. # -*- coding: cp936 -*-
  2. import urllib2
  3. import json
  4. from city import city
  5. cityname=raw_input("Which city's weather do you want to know?\n")
  6. citycode=city.get(cityname)
  7. print citycode
  8. if citycode:
  9.     url='http://www.weather.com.cn/data/cityinfo/%s.html'%citycode
  10.     print url
  11.     content=urllib2.urlopen(url).read()
复制代码

Python24.png (6.38 KB, 下载次数: 424)

Python24.png

回复

使用道具 举报

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

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

GMT+8, 2024-11-22 14:29 , Processed in 0.017011 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部