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 :
- Extraer formulario de datos URL dada.
- Raspe los datos con la ayuda de requests y Beautiful Soup.
- Convierta esos datos en código html.
- Encuentre los detalles requeridos y fíltrelos.
- Guarda el resultado en el String.
- 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:
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 :
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:
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