forked from TheAlgorithms/Python
- Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathworld_covid19_stats.py
26 lines (20 loc) · 935 Bytes
/
world_covid19_stats.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python3
"""
Provide the current worldwide COVID-19 statistics.
This data is being scrapped from 'https://www.worldometers.info/coronavirus/'.
"""
importrequests
frombs4importBeautifulSoup
defworld_covid19_stats(url: str="https://www.worldometers.info/coronavirus") ->dict:
"""
Return a dict of current worldwide COVID-19 statistics
"""
soup=BeautifulSoup(requests.get(url, timeout=10).text, "html.parser")
keys=soup.findAll("h1")
values=soup.findAll("div", {"class": "maincounter-number"})
keys+=soup.findAll("span", {"class": "panel-title"})
values+=soup.findAll("div", {"class": "number-table-main"})
return {key.text.strip(): value.text.strip() forkey, valueinzip(keys, values)}
if__name__=="__main__":
print("\033[1m COVID-19 Status of the World \033[0m\n")
print("\n".join(f"{key}\n{value}"forkey, valueinworld_covid19_stats().items()))