From d2a2d006a41a8f1f94c8cc45de9068838916e32a Mon Sep 17 00:00:00 2001 From: Christian Jeworrek Date: Wed, 26 Feb 2025 19:41:38 +0100 Subject: [PATCH] syntax, timezone --- scripts/einsaetze_rss_feed.py | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/scripts/einsaetze_rss_feed.py b/scripts/einsaetze_rss_feed.py index 76d7c73..dbee5e4 100644 --- a/scripts/einsaetze_rss_feed.py +++ b/scripts/einsaetze_rss_feed.py @@ -1,34 +1,41 @@ #!/bin/python3 import re +import locale +from datetime import datetime +from pytz import timezone import requests from bs4 import BeautifulSoup -from datetime import datetime -import locale locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8') -soup = BeautifulSoup(requests.get("https://www.feuerwehr-nea.de/einsaetze/").content, 'html.parser') +BASEURL = "https://www.feuerwehr-nea.de" +FWNAME = "Feuerwehr Nea" + +soup = BeautifulSoup(requests.get(BASEURL + "/einsaetze",timeout=20).content, 'html.parser') print('\n' '' '' -'feuerwehr-nea.de Einsätze' -'https://www.feuerwehr-nea.de/einsaetze/' -'feuerwehr-nea.de Einsätze') +'' + FWNAME +' Einsätze' +'' + BASEURL + '' +'' + FWNAME + ' Einsätze') for mysoup in soup.find_all('article', class_='teaser-element'): mydatetime_str = mysoup.find('span', class_="date").string mydatetime = datetime.strptime(mydatetime_str, '%d. %B %Y %H:%M') - mylink = "https://www.feuerwehr-nea.de" + (mysoup.find('a', class_="einsatz-link"))['href'] - soup2 = BeautifulSoup(requests.get(mylink).content, 'html.parser') + mydatetime = timezone("CET").localize(mydatetime) + mylink = BASEURL + (mysoup.find('a', class_="einsatz-link"))['href'] + soup2 = BeautifulSoup(requests.get(mylink,timeout=10).content, 'html.parser') mylist = [] + mykeywords = myunits = "" for itemsoup in (soup2.find('tbody').find_all('td')): - mylist.append(re.sub(r"\n\ *", "", itemsoup.string.strip())) - if(len(mylist) >= 4): - mykeywords = mylist[3] - myunits = mylist[2] + mylist.append(re.sub(r"\n\ *", " ", itemsoup.string.strip())) + if len(mylist) >= 4: + mykeywords = mylist[3] + if len(mylist) >= 3: + myunits = mylist[2] print("") locale.setlocale(locale.LC_TIME, 'en_US.UTF-8') - print("" + mydatetime.strftime('%a, %d %b %Y %H:%M:%S +0100') + "") + print("" + mydatetime.strftime('%a, %d %b %Y %H:%M:%S %z') + "") locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8') print("" + mykeywords + " - " + (mysoup.find('h3', class_="heading")).string.strip() + " - " + myunits + "") print("" + mylink + "")