لقد وجدت واجهة برمجة تطبيقات (API) يمكنها سرد جميع الموضوعات من موضوع معين (الذي رمزه “mlt-kb”) في نطاق تاريخ معين. إليك نقطة النهاية:
https://{default_host}/search.json?q=%23courses%3Amlt-kb%20after%3A2024-09-24%20before%3A2024-12-29
لكن هذا الرابط لا يسرد جميع الموضوعات. إنه يسرد فقط أول 50 موضوعًا. يجب أن يكون هناك معلمة أخرى مثل offset أو page .. لكنني لا أستطيع فهم كيفية إضافتها إلى هذا الرابط . هل يمكن لأحد أن يكتشف ذلك؟
شكرا مقدما!
thoka
(Thomas Kalka)
23 يناير 2025، 8:44ص
2
كما هو الحال دائمًا: إذا كان هذا ممكنًا باستخدام واجهة المستخدم، فجرّب Reverse engineer the Discourse API
إعجابَين (2)
nat
(Natalie T)
23 يناير 2025، 8:48ص
3
يمكنك استخدام هذا - https://docs.discourse.org/#tag/Search/operation/search (قم بالتمرير لأسفل!)
سترى أنه بالإضافة إلى ?q، لدينا أيضًا ?page، لذا..
https://{default_host}/search.json?q=%23courses%3Amlt-kb%20after%3A2024-09-24%20before%3A2024-12-29&page=1
إعجابَين (2)
pfaffman
(Jay Pfaffman)
23 يناير 2025، 3:31م
4
إعجاب واحد (1)
Canapin
(Coin-coin le Canapin)
23 يناير 2025، 4:37م
5
يوجد مثال نص برمجي يقوم بتكرار نتائج الصفحة هنا:
You don’t need an API key to do searches.
I’m not sure having an API key could help you resolve your issue more easily.
Here’s an example Python script that loops my posts (1 post every 3 sec) on meta and returns those having the substring upload:// in the raw content:
import requests
import time
def fetch_posts(page):
url = f"https://meta.discourse.org/search.json?q=%40cocoquark&page={page}"
response = requests.get(url)
return response.json()
def fetch_post_content(pos…
ولكن كما قال جاي، اعتمادًا على هدفك، قد يكون استخدام مستكشف البيانات حلاً أفضل بكثير إذا كنت مسؤولاً.