Obtenga notificaciones de escritorio de tiempo en vivo usando Python

Sabemos que las actualizaciones meteorológicas son muy importantes en nuestra vida cotidiana. Por lo tanto, presentamos la lógica y el guión con una forma más fácil de entender para todos. Veamos un script de Python simple para mostrar la actualización en vivo de la información meteorológica. 

Módulos necesarios

En este script, estamos usando algunas bibliotecas.

  • bs4 : Beautiful Soup (bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install bs4
  • win10toast: esta biblioteca ayuda a crear notificaciones de escritorio. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install win10toast
  • requests : esta biblioteca le permite enviar requests HTTP/1.1 con extrema facilidad. Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install requests

Acercarse :

  1. Extraer formulario de datos URL dada.
  2. Raspe 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. Guarda el resultado en el String.
  6. Pase el resultado en el objeto de notificación.

Ejecutemos el script paso a paso:

Paso 1: importar todas las dependencias

Python3

import requests
from bs4 import BeautifulSoup
from win10toast import ToastNotifier

Paso 2: Crea un objeto de la clase ToastNotifier.

Python3

n = ToastNotifier()

Paso 3: Defina una función para obtener datos de la URL dada.

Python3

def getdata(url):
    
    r = requests.get(url)
      
    return r.text

Paso 4: ahora pase la URL a la función getdata y convierta esos datos en código HTML.

Python3

htmldata = getdata("https://weather.com/en-IN/weather/today/l/25.59,85.14?par=google&temp=c/")
  
soup = BeautifulSoup(htmldata, 'html.parser')
  
print(soup.prettify())

Después de ejecutar este script, obtendrá datos sin procesar como estos:

Información HTML sin procesar 

Paso 5: encuentre los detalles requeridos y fíltrelos 

Python3

current_temp = soup.find_all("span", 
                             class_=" _-_-components-src-organism-CurrentConditions-CurrentConditions--tempValue--MHmYY")
chances_rain = soup.find_all("div", 
                             class_= "_-_-components-src-organism-CurrentConditions-CurrentConditions--precipValue--2aJSf")
  
temp = (str(current_temp))   
temp_rain = str(chances_rain)
  
result = "current_temp " + temp[128:-9] + "  in patna bihar" + "\n" +temp_rain[131:-14]

Paso 6: ahora pase el resultado al objeto de notificaciones.

Python3

n.show_toast("Weather update", result, duration = 10)

Salida :

notificación 

Código completo:

Python3

# import required libraries
import requests
from bs4 import BeautifulSoup
from win10toast import ToastNotifier
  
# create an object to ToastNotifier class
n = ToastNotifier()
  
# define a function
def getdata(url):
    r = requests.get(url)
    return r.text
    
htmldata = getdata("https://weather.com/en-IN/weather/today/l/25.59,85.14?par=google&temp=c/")
  
soup = BeautifulSoup(htmldata, 'html.parser')
  
current_temp = soup.find_all("span", class_= "_-_-components-src-organism-CurrentConditions-CurrentConditions--tempValue--MHmYY")
  
chances_rain = soup.find_all("div", class_= "_-_-components-src-organism-CurrentConditions-CurrentConditions--precipValue--2aJSf")
  
temp = (str(current_temp))
  
temp_rain = str(chances_rain)
   
result = "current_temp " + temp[128:-9] + "  in patna bihar" + "\n" + temp_rain[131:-14]
n.show_toast("live Weather update", 
             result, duration = 10)

Producción:

Notificación en vivo

Publicación traducida automáticamente

Artículo escrito por kumar_satyam 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 *