
Hace tres semanas, el equipo de Routitude y yo cambiamos de nuestras tareas habituales a crear un servicio para monitorear la propagación del virus COVID-19. Durante este tiempo hemos implementado:
- cuadros de mando con datos actualizados regularmente para todos los países (así como temas administrativos de Rusia y los Estados Unidos);
- mapa interactivo de la propagación de la infección;
- , ;
- .
, .
: routitude.com/map/covid, — .

COVID-19 — , SARS-CoV-2 (2019-nCoV). — , /, .
, , .
: |
Routitude . , , (, ..). . - Routitute 1.0.
COVID-19. . 2 , , . , .
2 :
- , . . . , .
- , 2 : 1) 2) , . , .

COVID-19. (Confirmed), (Deaths), (Recovered). (Active), , (Active case rate), . , 5 , .
, . , , , , .

Python Flask . Vue.js , mapbox. .
(Johns Hopkins University CSSE), github . , , , . Python Pandas. .
import pandas as pd
def get_covid_daily_report(report_date):
"""
Get coronavirus report on date
:param report_date: requesting date of report (MM-DD-YYYY)
:return: Pandas DataFrame with data
"""
report_url = (
f'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/'
f'csse_covid_19_data/csse_covid_19_daily_reports/{report_date}.csv'
)
return pd.read_csv(report_url)
df = get_daily_report('03-15-2020')
, . , , . (, , , , , ).
import pandas as pd
import requests
def get_current_covid_report():
"""
Get current COVID-19 report
:return: pandas DataFrame
"""
page_url = (
'https://en.wikipedia.org/wiki/'
'2019%E2%80%9320_coronavirus_pandemic_by_country_and_territory'
)
response = requests.get(page_url)
df = pd.read_html(response.content)[1]
df = pd.DataFrame(
df.values[:, 1:5],
columns=['country', 'confirmed', 'deaths', 'recovered']
)
return df
df = get_current_covid_report()
, , . , . beautifulsoup4.
?
Routitude — , . , , . , — .
.
!