代码运行UI界面可以正常显示,输入信息后报错:
songs_data = self.response_data['data']['list']
~~~~~~~~~~~~~~~~~~^^^^^^^^
KeyError: 'data'
部分源码如下:
if len(search_input) >0:
search_url = 'http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?'
"""key携带的值,是我们要搜索的值;pn,按照常量,我们猜测,其为页数;rn,我们猜测其为一页显示的数量"""
search_data = {
'key':search_input,
'pn':'1',
'rn': '80',
'httpsStatus':'1',
'reqId':'858597c1-b18e-11ec-83e4-9d53d2ff08ff'
}
try:# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
self.response_data = requests.get(search_url,params=search_data,headers=headers,
timeout=20).json()
songs_data = self.response_data['data']['list']
if int(self.response_data['data']['total'])<=0:
mes_box.showerror(title='错误',message='搜索:{} 不存在.'.format(search_input))
else:
for i in range(len(songs_data)):
self.show_result.insert('',i,values=(i+1,songs_data[i]['artist'],
songs_data[i]['name'],
songs_data[i]['album']))