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 information about each submission. submission_ids = r.json() submission_dicts = [] for submission_id in submission_ids[:10]: # Make a separate API call for each submission. url = f"https://hacker-news.firebaseio.com/v0/item/{submission_id}.json" r = requests.get(url) print(f"id: {submission_id}\tstatus: {r.status_code}") response_dict = r.json() # Build a dictionary for each article. 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_dict['title']}") print(f"Discussion link: {submission_dict['hn_link']}") print(f"Comments: {submission_dict['comments']}")