Wir wissen, dass Wetteraktualisierungen in unserem täglichen Leben so wichtig sind. Wir führen die Logik und das Skript so ein, dass sie für alle am einfachsten zu verstehen sind. Sehen wir uns ein einfaches Python-Skript an, um das Live-Update für Wetterinformationen anzuzeigen. 

Module benötigt

In diesem Skript verwenden wir einige Bibliotheken

  • bs4 : Beautiful Soup (bs4) ist eine Python-Bibliothek zum Abrufen von Daten aus HTML- und XML-Dateien. Um dieses Modul zu installieren, geben Sie den folgenden Befehl in das Terminal ein.
pip install bs4
  • win10toast: Diese Bibliothek hilft beim Erstellen von Desktop-Benachrichtigungen. Um dieses Modul zu installieren, geben Sie den folgenden Befehl in das Terminal ein.
pip install win10toast
  • Anfragen : Mit dieser Bibliothek können Sie sehr einfach HTTP / 1.1-Anfragen senden. Um dieses Modul zu installieren, geben Sie den folgenden Befehl in das Terminal ein.
Pip Installationsanforderungen

Ansatz :

  1. Daten aus der angegebenen URL extrahieren.
  2. Kratzen Sie die Daten mit Hilfe von Anfragen und schönen Suppe.
  3. Konvertieren Sie diese Daten in HTML-Code.
  4. Finden Sie die erforderlichen Details und filtern Sie sie.
  5. Speichern Sie das Ergebnis in der Zeichenfolge.
  6. Übergeben Sie das Ergebnis im Benachrichtigungsobjekt.

Lassen Sie uns das Skript Schritt für Schritt ausführen:

Schritt 1: Importieren Sie alle Abhängigkeiten



import requests 
from bs4 import BeautifulSoup 
from win10toast import ToastNotifier 

Schritt 2: Erstellen Sie ein Objekt der ToastNotifier-Klasse.

n = ToastNotifier() 

Schritt 3: Definieren Sie eine Funktion zum Abrufen von Daten aus der angegebenen URL.

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

Schritt 4: Übergeben Sie nun die URL an die Funktion getdata und konvertieren Sie diese Daten in HTML-Code.

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()) 

Nach dem Ausführen dieses Skripts erhalten Sie folgende Rohdaten:



Rohe HTML-Informationen 

Schritt 5: Finden Sie die erforderlichen Details und filtern Sie sie 

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] 

Schritt 6: Übergeben Sie nun das Ergebnis an das Benachrichtigungsobjekt.

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

Ausgabe :

Benachrichtigung 

Vollständiger Code:

import requests 
from bs4 import BeautifulSoup 
from win10toast import ToastNotifier 
  
n = ToastNotifier() 
  
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) 

Ausgabe:

Live-Benachrichtigung