#!/usr/bin/env python3 # -*- coding: utf-8 -*- #' --- #' title: "Lösungsversuch zum RegEXP-Kurs im Debianforum" #' author: "tegula" #' date: "15 06 2022" #' output: html_document #' --- #' ------------------------ #' ------------------------ #' **Kurs-Teil:** Python (Kurzeinstieg) - Aufgabe Nr. 2 #' **URL:** https://debianforum.de/forum/viewtopic.php?p=1303710#p1303710 #' ------------------------ #' ------------------------ """ Aufgabe 2) Suche aus einer Forenübersichtsseite alle Threads heraus und gib sie nach dem Erstellungsdatum sortiert aus, im Format Titel; Datum; Threadstarter; Anzahl Antworten. """ #' ------------------------ #' ------------------------ # Module laden import requests import re import pandas as pd import argparse #' ------------------------ #' ------------------------ # URL der Forenübersichtsseite in Form eines Komandozeilenarguments einlesen ## Anmerkung: Ich gehe hierbei nach folgender Anleitung vor: https://www.geeksforgeeks.org/command-line-arguments-in-python/#argparse und ## Parse für Komandozeilenargumente initialisieren und Kurzbeschreibung hinzufügen parser = argparse.ArgumentParser(description='Nimmt die URL einer Forenübersichtsseite des Webforums debianforum.de (dfde) entgegen. Gibt folgende Informationen zu dieser Forenübersichtsseite auf der Standardausgabe aus.' ) ## Kurzbeschreibung dieses Skripts hinzufügen ## Komadozeilenoption "url" (Link zur Übersichtsseite) hinzufügen parser.add_argument('--url', help = 'Die URL einer Übersichtsseite des Debianforums') ## Eingabe einlesen args = parser.parse_args() print(args.url) # Überprüfen, ob es sich tatsächlich, um eine Forenübersichtsseite des Debianforums handelt. Falls Ja: URL einer einer Variablen (dfde_url) abspeichern ausdruck = re.compile(pattern="https://debianforum\.de/forum/viewforum\.php\?f=\d+") if ausdruck.search(args.url) != None: dfde_url = args.url else: print("\nFehler. URL scheint nicht zu einer dfde-Forenübersichtsseite zu gehörten oder es wurde keine URL angegeben.") #' ------------------------ #' ------------------------ # Forenübersichtsseite mit Hilfe des requests-Modul herunterladen dfde_forum = requests.get(url=dfde_url).text #' ------------------------ #' ------------------------ # Name des Unterforums extrahieren unterforum = re.search(pattern="