考点:
- 使用
requests
库进行HTTP请求 - JSON数据解析
- 字典操作
- 异常处理
题目描述: 编写一个Python函数 get_user_github_info
,该函数接受一个GitHub用户名作为参数,并从GitHub API获取该用户的个人信息。个人信息应包括用户的名字、公司、博客链接和位置。函数应返回一个包含这些信息的字典。
GitHub API的用户信息端点是:https://api.github.com/users/{username}
例如,如果函数被调用为 get_user_github_info('octocat')
,它应该返回以下信息:
{
'name': 'The Octocat',
'company': 'GitHub',
'blog': 'https://github.blog',
'location': 'San Francisco'
}
作答区:
# 请在此处编写你的代码
答案
import requests
def get_user_github_info(username):
url = f'https://api.github.com/users/{username}'
try:
response = requests.get(url)
response.raise_for_status() # 检查请求是否成功
user_data = response.json()
return {
'name': user_data.get('name'),
'company': user_data.get('company'),
'blog': user_data.get('blog'),
'location': user_data.get('location')
}
except requests.exceptions.HTTPError as e:
print(f'HTTP error occurred: {e}')
except requests.exceptions.RequestException as e:
print(f'Request error occurred: {e}')
return {}
www.smqlrc.com
www.smyxrcw.com
www.smhcrcw.com
www.smtarcw.com
www.zzyxrcw.com
# 测试代码
user_info = get_user_github_info('octocat')
print(user_info)
在这个答案中,我们使用了 requests
库来发送HTTP请求,并解析返回的JSON数据。同时,我们添加了异常处理来捕获可能发生的错误。