|
楼主 |
发表于 2016-11-27 13:07:36
|
显示全部楼层
好的,谢谢!
import urllib.request
import json
import pickle
pickle_file = open ('city_data.pkl','rb')
city = pickle.load(pickle_file)
password=input('请输入城市:')
name1=city[password]
File1 =urllib.request.urlopen('http://m.weather.com.cn/data/'+name1+'.html')#打开url
weatherHTML= File1.read().decode('utf-8')#读入打开的url
weatherJSON = json.JSONDecoder().decode(weatherHTML)#创建json
weatherInfo = weatherJSON['weatherinfo']
#打印信息
print ( '城市:', weatherInfo['city'])
print ('时间:', weatherInfo['date_y'])
print ( '24小时天气:')
print ('温度:', weatherInfo['temp1'])
print ('天气:', weatherInfo['weather1'])
print ('风速:', weatherInfo['wind1'])
print ('紫外线:', weatherInfo['index_uv'])
print ('穿衣指数:', weatherInfo['index_d'])
print ('48小时天气:')
print ('温度:', weatherInfo['temp2'])
print ('天气:', weatherInfo['weather2'])
print ('风速:', weatherInfo['wind2'])
print ('紫外线:', weatherInfo['index48_uv'])
print ('穿衣指数:', weatherInfo['index48_d'])
print ('72小时天气:')
print ('温度:', weatherInfo['temp3'])
print ('天气:', weatherInfo['weather3'])
print ('风速:', weatherInfo['wind3'])
input ('按任意键退出:')
我对照着视频里的文本信息,没有什么不同。
我用Python编译器逐行编译的时候发现下面这行出错,应该是跟系统有关系,我的电脑是win8系统,不知道需要怎么弄才不出错?
File1 =urllib.request.urlopen('http://m.weather.com.cn/data/'+name1+'.html')#
#
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
File1 =urllib.request.urlopen('http://m.weather.com.cn/data/'+name1+'.html')#
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 471, in open
response = meth(req, response)
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 581, in http_response
'http', request, response, code, msg, hdrs)
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 509, in error
return self._call_chain(*args)
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 443, in _call_chain
result = func(*args)
File "D:\Program Files (x86)\python\lib\urllib\request.py", line 589, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden |
|