syntax, timezone

This commit is contained in:
Christian Jeworrek
2025-02-26 19:41:38 +01:00
parent 857b3ecd76
commit d2a2d006a4

View File

@@ -1,34 +1,41 @@
#!/bin/python3 #!/bin/python3
import re import re
import locale
from datetime import datetime
from pytz import timezone
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from datetime import datetime
import locale
locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8') 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('<?xml version="1.0" encoding="UTF-8" ?>\n' print('<?xml version="1.0" encoding="UTF-8" ?>\n'
'<rss version="2.0">' '<rss version="2.0">'
'<channel>' '<channel>'
'<title>feuerwehr-nea.de Eins&auml;tze</title>' '<title>' + FWNAME +' Einsätze</title>'
'<link>https://www.feuerwehr-nea.de/einsaetze/</link>' '<link>' + BASEURL + '</link>'
'<description>feuerwehr-nea.de Eins&auml;tze</description>') '<description>' + FWNAME + ' Einsätze</description>')
for mysoup in soup.find_all('article', class_='teaser-element'): for mysoup in soup.find_all('article', class_='teaser-element'):
mydatetime_str = mysoup.find('span', class_="date").string mydatetime_str = mysoup.find('span', class_="date").string
mydatetime = datetime.strptime(mydatetime_str, '%d. %B %Y %H:%M') mydatetime = datetime.strptime(mydatetime_str, '%d. %B %Y %H:%M')
mylink = "https://www.feuerwehr-nea.de" + (mysoup.find('a', class_="einsatz-link"))['href'] mydatetime = timezone("CET").localize(mydatetime)
soup2 = BeautifulSoup(requests.get(mylink).content, 'html.parser') mylink = BASEURL + (mysoup.find('a', class_="einsatz-link"))['href']
soup2 = BeautifulSoup(requests.get(mylink,timeout=10).content, 'html.parser')
mylist = [] mylist = []
mykeywords = myunits = ""
for itemsoup in (soup2.find('tbody').find_all('td')): for itemsoup in (soup2.find('tbody').find_all('td')):
mylist.append(re.sub(r"\n\ *", " ", itemsoup.string.strip())) mylist.append(re.sub(r"\n\ *", " ", itemsoup.string.strip()))
if(len(mylist) >= 4): if len(mylist) >= 4:
mykeywords = mylist[3] mykeywords = mylist[3]
if len(mylist) >= 3:
myunits = mylist[2] myunits = mylist[2]
print("<item>") print("<item>")
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8') locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')
print("<pubDate>" + mydatetime.strftime('%a, %d %b %Y %H:%M:%S +0100') + "</pubDate>") print("<pubDate>" + mydatetime.strftime('%a, %d %b %Y %H:%M:%S %z') + "</pubDate>")
locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8') locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8')
print("<title>" + mykeywords + " - " + (mysoup.find('h3', class_="heading")).string.strip() + " - " + myunits + "</title>") print("<title>" + mykeywords + " - " + (mysoup.find('h3', class_="heading")).string.strip() + " - " + myunits + "</title>")
print("<link>" + mylink + "</link>") print("<link>" + mylink + "</link>")