昨天实战了用 Python 向猫咪图片的 API 请求。使用者可以输入一个数字,让程序可以爬取多张猫咪照片。
今天要实战的是分析 CDC 网站,找出确诊者数量的 API ,之後写个小程序能够向其发出请求。
卫生福利部疾病管制署官网 : https://www.cdc.gov.tw/
可以看到官网上有出现确诊者的数量。
起手式,先用开发工具的 Network 功能,并按下 F5 分析一下向外与向内的流量。
接下来,那些 dash 的看起来很可疑,每个点开来看看 response 看一下内容。发现 dash3 这个的回应内容应该就是我们想要的。
我们找到了! 再来,点选 Header 看如何对其发出请求。
简单地,这只是个普通的 GET 请求,我们能直接将 Request URL 贴到网址,看回传的回应。
最後,只要写个简单的小程序向 https://covid19dashboard.cdc.gov.tw/dash3 发出 requests GET 请求。
import requests
if __name__ == '__main__':
CDCApi = 'https://covid19dashboard.cdc.gov.tw/dash3'
resp = requests.get(CDCApi)
print(resp.text)
'''
{"0":{"确诊":"16,305","死亡":846,"送验":"3,602,515","排除":"3,585,122","昨日确
诊":7,"昨日排除":"13,046","昨日送验":"12,506"}}
'''
接下来,用两种方法取出确诊者的位置,转换为 JSON 之後用字典的方式存取,或者用 regex 来取出该位置的值。
import requests
import json
if __name__ == '__main__':
CDCApi = 'https://covid19dashboard.cdc.gov.tw/dash3'
resp = requests.get(CDCApi)
json_resp = json.loads(resp.text)
print(json_resp['0']['昨日确诊'])
'''
7
'''
import requests
import re
if __name__ == '__main__':
CDCApi = 'https://covid19dashboard.cdc.gov.tw/dash3'
resp = requests.get(CDCApi)
regex_result = re.findall('"昨日确诊":(\d+),', resp.text)
print(regex_result[0])
'''
7
'''
今天带各位看了 CDC 官网,并找到了他们的确诊者数量的 API ,撰写了个小程序向其发出了一个请求。
关於这个 API ,笔者之前有写一个 line bot https://github.com/Vincent550102/covid19-daily-alert 定时爬取确诊者数量,并传 line 提醒,但之後因为 Line API 的push_message 有上限就先关掉了QQ。
明天会带各位实战用 Dcard 的 API 来快速爬取文章。
CDC 官网 https://www.cdc.gov.tw/
我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明 ...
利用将资料切一半的方式来做搜寻,举例来说,如果要从数字1–100猜终极密码,如果采用线性搜寻法就是...
Event 表示在 DOM 物件上所发生的事件,例如 click点击滑鼠 dblclick滑鼠连点两...
实务上,因应不同的开发阶段,应用程序会运行在开发环境 (Develop Environment)、预...
身为一名工程师最讨厌的是什麽?我想其一就是重复、乏味的工作。 因为工程师的惰性,在程序的世界中有模组...