M1.2
任务描述
上回书说到,bLue 想让你帮他搜寻选手信息。你应该已经完成了任务。但 bLue 并不满足于此,因为 ACM 之神托梦说 CF 会在 2077 年迎来大改版,因此 bLue 需要更稳定和可靠的爬取方式。
对于一些提供了 API(应用程序接口)的网站来说,直接爬取 API 会比爬取 HTML 再解析具有更好的稳定性和可靠性。因此,bLue 希望你能够优化你的程序,通过爬取 API 来获取所需的数据。同时,你的程序需要更健壮,能处理除了业务响应以外的其他至少 3 种异常情况。
对于这个任务,你需要根据 bLue 请求的 handle,返回对应用户的基本数据。
任务要求
基础要求同 M1.1。但你需要处理至少 3 种异常情况(不包括 M1.1 中提及的情况),并输出合适的错误信息到 stderr。
输出数据结构
同 M1.1。
运行效果示例
同 M1.1。
建议完成用时
1-2 天。
自学参考资料关键词
- HTTP
- API
- JSON
总结回顾检查点
- 什么场景适合爬取 HTML?什么场景适合爬取 API?它们分别有什么优劣?
- 有哪些常见爬虫的异常情况需要考虑?
提示
在此查阅 Codeforces API 文档: