En este artículo, veremos cómo podemos crear un script de Python que informe sobre los casos de corona en todo el mundo, es decir, la cantidad de casos confirmados, la cantidad de casos en los que el paciente se recuperó y el total de muertes debido a corona.
Módulos requeridos e Instalación:
Requests: Requests le permite enviar requests HTTP/1.1 de forma extremadamente sencilla. No es necesario agregar manualmente strings de consulta a sus URL.
pip install requests
Beautiful Soup: Beautiful Soup es una biblioteca que facilita extraer información de las páginas web. Se asienta sobre un analizador HTML o XML, proporcionando modismos Pythonic para iterar, buscar y modificar el árbol de análisis.
pip install beautifulsoup4
Explicación:
eliminaremos los datos del sitio web con la ayuda de requests
BeautifulSoup
, luego convertiremos los datos sin procesar en código html y luego los filtraremos para obtener el resultado requerido y guardaremos la información en el diccionario.
A continuación se muestra la implementación:
Python3
# importing libraries from bs4 import BeautifulSoup as BS import requests # method to get the info def get_info(url): # getting the request from url data = requests.get(url) # converting the text soup = BS(data.text, 'html.parser') # finding meta info for total cases total = soup.find("div", class_ = "maincounter-number").text # filtering it total = total[1 : len(total) - 2] # finding meta info for other numbers other = soup.find_all("span", class_ = "number-table") # getting recovered cases number recovered = other[2].text # getting death cases number deaths = other[3].text # filtering the data deaths = deaths[1:] # saving details in dictionary ans ={'Total Cases' : total, 'Recovered Cases' : recovered, 'Total Deaths' : deaths} # returning the dictionary return ans # url of the corona virus cases url = "https://www.worldometers.info/coronavirus/" # calling the get_info method ans = get_info(url) # printing the ans for i, j in ans.items(): print(i + " : " + j)
Producción :
Total Cases : 2,129,927 Recovered Cases : 539,063 Total Deaths : 142,716
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA