이 대화에 좀 늦게 참여하는 것 같네요 (아, 확장된 버전이긴 하지만 :p). 저도 Discourse 포럼에서 데이터를 가져오고 싶었는데, API 키를 설정하는 번거로움을 피하고 싶었어요. 만약 (혹은 누군가) 모든 Discourse 포럼에서 게시물을 가져올 수 있는 간단한 래퍼가 필요하시다면 여기에서 확인해 보실 수 있습니다.
PyPi에 공개되어 있어 pip/uv로 쉽게 설치할 수 있고, 레이트 리미팅도 자동으로 처리해 주며 Pydantic으로 타입이 지정되어 있습니다(개인적으로 개발 경험(DX)이 더 좋다고 생각해요). 사용법:
from discourse_reader import DiscourseClient
client = DiscourseClient("https://meta.discourse.org")
# 카테고리 탐색
for cat in client.categories():
print(f"{cat.name}: {cat.topic_count} topics")
# 모든 게시물이 포함된 토픽 가져오기
topic = client.topics.get(12345)
print(topic.title)
print(topic.opening_post.cooked) # 원본 게시물 (HTML)
print(topic.accepted_answer) # 채택된 답변 또는 None
for reply in topic.posts.replies():
print(reply.username, reply.cooked)
pydiscourse만큼 방대하지는 않지만, 이는 의도적인 것입니다. API 키 없이 작동하기 때문이죠. 또한 data explorer 플러그인보다 더 나은 데이터나 더 빠른 데이터를 제공하지는 않겠지만, 단순히 여러 스레드나 간단한 사이트 통계를 빠르게 가져오고 싶을 때는 꽤 유용하다고 생각합니다 ![]()