nox-forum-watcher/nox-forum-watcher.v1.py
2024-03-21 21:54:44 +01:00

61 lines
1.9 KiB
Python

'''
Script Name: nox-forum-watcher.v1.py
Beschreibung: Überwacht ein Thema des Forum 'nox' auf neue Beiträge und schickt eine Benachrichtigung per Mail raus
Aufruf: python3 nox-forum-watcher.v1.py
Autor: Patrick Asmus
Web: https://www.media-techport.de
Git-Reposit.: https://git.media-techport.de/scriptos/nox-forum-watcher.git
Version: 1.1.1
Datum: 21.03.2024
Modifikation: Script dem Docker angepasst
'''
import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
import time
# E-Mail-Einstellungen
smtp_server = 'smtp.media-techport.int'
smtp_port = 25
absender_email = 'noreply@media-techport.de'
empfaenger_email = ''
# URL des Forums
url = "https://forum.nox.to/index.php?thread/133929-gutschein-angebote/"
topic = "Forum NOX.TO | Gutschein Angebote"
# Letzter bekannter Beitrag
letzter_beitrag = ""
while True:
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# Alle Beiträge gemäß des festgelegten Musters auswählen
beitraege = soup.select('div:nth-child(3) > header:nth-child(1) > ul:nth-child(2) > li:nth-child(1) > a:nth-child(1)')
# Überprüfe, ob neue Beiträge vorhanden sind
if beitraege and beitraege[-1].text != letzter_beitrag:
neuer_beitrag = beitraege[-1].text
letzter_beitrag = neuer_beitrag
# E-Mail-Inhalte
subject = "Neuer Beitrag im Forum"
body = f"Es gibt einen neuen Forenbeitrag im Thema: {topic}\n\nLink zum Beitrag: {url}"
# E-Mail senden
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = absender_email
msg['To'] = empfaenger_email
# Verbindung zum SMTP-Server herstellen
server = smtplib.SMTP(smtp_server, smtp_port)
server.send_message(msg)
server.quit()
# Wartezeit zwischen den Überprüfungen
time.sleep(60) # 1 Minute