Erhalten Sie Live-Wetter-Desktop-Benachrichtigungen mit Python
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 :
- Daten aus der angegebenen URL extrahieren.
- Kratzen Sie die Daten mit Hilfe von Anfragen und schönen Suppe.
- Konvertieren Sie diese Daten in HTML-Code.
- Finden Sie die erforderlichen Details und filtern Sie sie.
- Speichern Sie das Ergebnis in der Zeichenfolge.
- Ü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'
)
(soup.prettify())
Nach dem Ausführen dieses Skripts erhalten Sie folgende Rohdaten:
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 :
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: