当我尝试运行该程序时,它总是显示KeyError
,如果我保留一个try/except
块,则不会打印任何信息。该错误submission_dict
在标题处生成为 keyerror。在第 16 行
from operator import itemgetter
import requests
#Make an API call and store the response
url='https://hacker-news.firebaseio.com/v0/topstories.json'
r=requests.get(url)
print(f"Status Code:{r.status_code}")
#Process the information about each submission
submission_ids=r.json()
submission_dicts=[]
for submission_id in submission_ids[:30]:
#Make a seperate api call for each id
url1=f"https://hacker-news.firebaseio.com/v0/item{submission_id}.json"
r1=requests.get(url1)
response_dict=r1.json()
submission_dict={
'title':response_dict['title'],
'hn_link':f"http://news.ycombinator.com/item?id={submission_id}",
'comments':response_dict['descendants']
}
submission_dicts.append(submission_dict)
submission_dicts=sorted(submission_dicts,key=itemgetter('comments'),reverse=True)
for submission_dict in submission_dicts:
print(f"\nTitle: {submission_dicts['title']}")
print(f"\nDiscuission link: {submission_dicts['hn_link']}")
print(f"\nComments: {submission_dicts['comments']}")
<ipython-input-11-956f08dd0f07> in <module>
15 print(f"id: {submission_id}\tstatus: {r.status_code}")
16 submission_dict={
---> 17 'title':response_dict['title'],
18 'hn_link':f"http://news.ycombinator.com/item?id={submission_id}",
19 'comments':response_dict['descendants']```