Code: Alles auswählen
from bs4 import BeautifulSoup
from urllib.request import urlopen
import requests
import re
import shutil
terminal_länge, _ = shutil.get_terminal_size()
def status_parser():
webseite = urlopen("https://www.python-forum.de/index.php")
html = webseite.read().decode()
soup = BeautifulSoup(html, "html.parser")
werte = ["Themen insgesamt", "Beiträge insgesamt", "Mitglieder insgesamt", "neuestes Mitglied"]
ausgabetext = ""
abtrennung("Forumstatistik")
for text in werte:
ausgabetext += text + ": " + soup.find("div", "statistics").p.find(text=re.compile(text)).next.text + "\n"
print(ausgabetext[:-1])
def abtrennung(text):
print("_" * terminal_länge)
print(text)
print("_" * terminal_länge)
def online_benutzer_parser():
with requests.Session() as session:
benutzerdaten = {"username": "Fire Spike",
"password": "blabala",
"autologin": "on",
"login": "Anmelden"
}
users = []
aktivitäten = []
session.post("https://www.python-forum.de/ucp.php?mode=login", data=benutzerdaten)
html = session.get("https://www.python-forum.de/viewonline.php").text
soup = BeautifulSoup(html, "html.parser")
abtrennung("Benutzer die online sind")
for tag in soup.find("div", "forumbg forumbg-table").table.tbody.find_all("tr"):
try:
user = tag.td.a.next
except AttributeError:
user = tag.td.span.next
users.append(user)
for tag in soup.find("div", "forumbg forumbg-table").table.tbody.find_all("tr"):
aktivität = tag.contents[3].a.next
aktivitäten.append(aktivität)
max_länge = len(max(users, key=len))
for i, a in zip(aktivitäten, users):
anzahl = int(max_länge + 5 - len(a))
print(a, " " * anzahl, i)
print(soup.find("div", "page-body").p.next)
status_parser()
online_benutzer_parser()
Code: Alles auswählen
________________________________________________________________________________
Forumstatistik
________________________________________________________________________________
Themen insgesamt: 42187
Beiträge insgesamt: 346902
Mitglieder insgesamt: 17925
neuestes Mitglied: MissMapeL
________________________________________________________________________________
Benutzer die online sind
________________________________________________________________________________
Fire Spike Betrachtet „Wer ist online?“
Google [Bot] Liest Thema in Verbesserungsvorschläge
Bing [Bot] Liest Thema in Webframeworks
linde Foren-Übersicht
Es ist 1 Gast online