Python: detalles de los casos de CoronaVirus en varios países

En este artículo, veremos cómo hacer un script para obtener los detalles de los casos de coronavirus, es decir, casos totales, casos recuperados y muertes totales solo escribiendo el nombre del país.

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

Para hacer este script tenemos que hacer lo siguiente:

1. A partir del nombre del país, cree una URL
. 2. Extraiga los datos con la ayuda de requests y Beautiful Soup
. 3. Convierta esos datos en código html.
4. Encuentre los detalles requeridos y fíltrelos.
5. Guarde el resultado 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(country_name):
      
    # creating url using country name
    url = "https://www.worldometers.info/coronavirus/country/" + country_name + "/"
      
    # getting the request from url 
    data = requests.get(url)
  
    # converting the text 
    soup = BS(data.text, 'html.parser')   
      
    # finding meta info for cases
    cases = soup.find_all("div", class_ = "maincounter-number")
      
    # getting total cases number
    total = cases[0].text
      
    # filtering it
    total = total[1 : len(total) - 2]
       
    # getting recovered cases number
    recovered = cases[2].text
      
    # filtering it
    recovered = recovered[1 : len(recovered) - 1]
      
      
    # getting death cases number
    deaths = cases[1].text
      
    # filtering it
    deaths = deaths[1 : len(deaths) - 1]
      
    # saving details in dictionary
    ans ={'Total Cases' : total, 'Recovered Cases' : recovered,
                                 'Total Deaths' : deaths}
      
    # returning the dictionary
    return ans
   
# setting country name
country_name = "us"
  
# calling the get_info method
us = get_info(country_name)
  
# printing the results for us
print("Cases in United States")
for i, j in us.items():
    print(i + " : " + j)
      
print("----------------------------")  
# setting country name to india
country_name = "india"
  
# calling the get_info method
india = get_info(country_name)
  
# printing the results for us
print("Cases in India")
for i, j in india.items():
    print(i + " : " + j)

Producción :

Cases in United States
Total Cases : 654,343
Recovered Cases : 56,618
Total Deaths : 33,490
----------------------------
Cases in India
Total Cases : 12,759
Recovered Cases : 1,514
Total Deaths : 423

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *