Mit Diskurs aus Python interagieren?

Etwas spät zu diesem Gespräch, aber ich wollte ebenfalls Daten aus einem Discourse-Forum abrufen und hatte keine Lust, einen API-Schlüssel einzurichten. Wenn du (oder jemand anders) eine einfache Wrapper-Lösung zum Abrufen von Beiträgen aus beliebigen Discourse-Foren suchst, kannst du sie hier ansehen: GitHub - elninotech/discourse-reader: A simple Python wrapper for reading data from Discourse forums · GitHub

Veröffentlicht auf PyPi, also einfach mit pip/uv zu installieren. Berücksichtigt automatisch das Rate Limiting und ist mit Pydantic typisiert (was meiner Meinung nach die Entwicklererfahrung verbessert). Verwendung:

from discourse_reader import DiscourseClient

client = DiscourseClient("https://meta.discourse.org")

# Kategorien durchsuchen
for cat in client.categories():
    print(f"{cat.name}: {cat.topic_count} Themen")

# Ein Thema mit allen seinen Beiträgen abrufen
topic = client.topics.get(12345)
print(topic.title)
print(topic.opening_post.cooked)       # Der ursprüngliche Beitrag (HTML)
print(topic.accepted_answer)           # Akzeptierte Antwort oder None
for reply in topic.posts.replies():
    print(reply.username, reply.cooked)

Dies bietet definitiv keine besseren oder schnelleren Daten als das Data Explorer-Plugin, aber ich finde es praktisch, wenn man einfach schnell eine Reihe von Threads oder einfache Statistiken einer Website abrufen möchte :slight_smile: