【发布时间】:2016-06-06 09:35:04
【问题描述】:
我的 python 代码有错误:
import urllib.request
from bs4 import BeautifulSoup
import traceback
from time import localtime, strftime
def display(result):
print ('Weather in Suwon, Asia at ' + strftime('%H:%M', localtime()) + '\n')
print ('Condition: ' + result['cond'])
print ('Temparature: ' + result['temp'] + u"\N{DEGREE SIGN}" + 'C')
print ('RealFeel: ' + result['realfeel'] + u"\N{DEGREE SIGN}" + 'C')
print (result['humid'])
print (result['cloud'])
print
def main():
with urllib.request.urlopen("http://www.accuweather.com/en/kr/suwon/223670/current-weather/223670") as url:
html = url.read()
soup = BeautifulSoup(html,"lxml")
soup = soup.find('div', {'id':'detail-now'})
result = {}
while soup:
if soup.get('class') == 'cond':
result['cond'] = soup.text
elif soup.get('class') == 'temp':
result['temp'] = soup.text.replace("°", "")
elif soup.get('class') == 'realfeel':
s = soup.text.replace("°", "")
result['realfeel'] = s.replace("RealFeel® ", "")
elif soup.get('cellspacing') == None and soup.get('class') == 'stats':
ss = soup.findAll('li')
for li in ss:
if 'humid' in li.text:
result['humid'] = li.text.replace(":", ": ")
elif 'Cloud' in li.text:
result['cloud'] = li.text.replace(":", ": ")
break
soup = soup.findNext()
display(result)
if __name__ == "__main__":
try:
main()
except:
traceback.print_exc()
错误是:
Traceback(最近一次调用最后一次):
文件“C:/Users/user/Desktop/untitled0.py”,第 60 行,在 主要()
文件“C:/Users/user/Desktop/untitled0.py”,第 55 行,在 main 显示(结果)
文件“C:/Users/user/Desktop/untitled0.py”,第 20 行,显示中 print('条件:'+结果['cond'])
KeyError: 'cond'
为什么会出现这个错误?
我的python版本是3.5。
【问题讨论】:
标签: python python-2.7 python-3.x python-import python-3.5