تم تصميم وإنشاء واجهة برمجة تطبيقات Pushshift.io Reddit بواسطة فريق تعديل /r/datasets للمساعدة في توفير وظائف محسنة وإمكانيات بحث للبحث في تعليقات Reddit وعمليات الإرسال. قائد المشروع، /u/stuck_in_the_matrix، هو المشرف على تعليقات Reddit وأرشيفات التقديمات الموجودة على https://files.pushshift.io.
توفر واجهة برمجة التطبيقات RESTful هذه وظائف كاملة للبحث في بيانات Reddit وتتضمن أيضًا القدرة على إنشاء مجموعات بيانات قوية. باستخدام واجهة برمجة التطبيقات هذه، يمكنك العثور بسرعة على البيانات التي تهمك والعثور على ارتباطات رائعة.
هناك طريقتان رئيسيتان للوصول إلى قاعدة بيانات Reddit للتعليقات والإرسالات. الأول هو استخدام واجهة برمجة التطبيقات مباشرة عبر https://api.pushshift.io/ والآخر هو من خلال الوصول إلى محرك بحث Elasticsearch الخلفي عبر https://elastic.pushshift.io/ سوف يشرح هذا المستند كلا الطريقتين ويقدم أمثلة حول كيفية استخدام API بشكل فعال. سوف يستكشف هذا المستند أيضًا استخدام معلمات واجهة برمجة التطبيقات (API) للاستفادة من عمليات البحث الأكثر تركيزًا.
هناك نقطتا نهاية رئيسيتان تستخدمان للبحث في جميع التعليقات والمرسلات المتاحة للعامة على Reddit:
في القسم التالي، سنستكشف كيفية إجراء عمليات بحث أكثر فعالية باستخدام نقطة نهاية البحث عن التعليقات.
للبحث عن التعليقات، استخدم https://api.pushshift.io/reddit/search/comment/ نقطة النهاية. لنبدأ ببعض الأمثلة ثم نتناول المعلمات المختلفة المتاحة عند استخدام نقطة النهاية هذه. أحد أبسط عمليات البحث هو استخدام المعلمة q فقط. يتم استخدام المعلمة q للبحث عن كلمة أو عبارة محددة. هنا مثال:
ابحث عن أحدث التعليقات التي تتضمن كلمة "علم"
https://api.pushshift.io/reddit/search/comment/?q=science
سيؤدي هذا إلى البحث في أحدث التعليقات التي تحتوي على مصطلح "علم" في نص التعليق. هذا البحث ليس حساسًا لحالة الأحرف، لذلك سيجد أي تكرار لمصطلح "علم" بغض النظر عن الكتابة بالأحرف الكبيرة. تقوم واجهة برمجة التطبيقات الافتراضية بالفرز حسب التعليقات التي تم إجراؤها مؤخرًا أولاً. بعد إجراء هذا البحث، يتم إرجاع 25 نتيجة. هذا هو الحجم الافتراضي لعمليات البحث ويمكن تعديله باستخدام معلمة الحجم. سيتم مناقشة هذا بمزيد من التفصيل في قسم المعلمات. يتم إرجاع البيانات بتنسيق JSON ويتم تضمين نتائج البحث الفعلية في مفتاح "البيانات". يوجد أيضًا مفتاح "بيانات التعريف" الذي يوفر معلومات إضافية حول البحث بما في ذلك العدد الإجمالي للنتائج التي تم العثور عليها، والمدة التي استغرقتها معالجة البحث، وما إلى ذلك. إذا تم طلب التجميعات، يتم إرجاع جميع بيانات التجميع تحت مفتاح aggs.
هناك العديد من المعلمات الإضافية التي يمكن استخدامها عند إجراء بحث عن التعليقات. دعنا نتناولها ونقدم أمثلة لكل منها.
المعلمة | وصف | تقصير | القيم المقبولة |
---|---|---|---|
س | مصطلح البحث. | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
معرفات | احصل على تعليقات محددة عبر معرفاتهم | لا يوجد | معرّفات Base36 المفصولة بفواصل |
مقاس | عدد النتائج المراد إرجاعها | 25 | عدد صحيح <= 500 |
الحقول | حقول محددة بإرجاع واحد (مفصولة بفواصل) | تم إرجاع جميع الحقول | سلسلة أو سلسلة مفصولة بفواصل |
نوع | فرز النتائج بترتيب معين | "تنازل" | "تصاعدي"، "تنازلي" |
Sort_type | فرز حسب سمة محددة | "تم الإنشاء_utc" | "النتيجة"، "num_comments"، "created_utc" |
com.aggs | إرجاع ملخص التجميع | لا يوجد | ["author"، "link_id"، "created_utc"، "subreddit"] |
مؤلف | يقتصر على مؤلف معين | لا يوجد | خيط |
com.subreddit | يقتصر على subreddit محددة | لا يوجد | خيط |
بعد | عودة النتائج بعد هذا التاريخ | لا يوجد | قيمة العصر أو عدد صحيح + "s,m,h,d" (أي 30 يومًا لمدة 30 يومًا) |
قبل | إرجاع النتائج قبل هذا التاريخ | لا يوجد | قيمة العصر أو عدد صحيح + "s,m,h,d" (أي 30 يومًا لمدة 30 يومًا) |
تكرار | يُستخدم مع المعلمة aggs عند التعيين على create_utc | لا يوجد | "ثانية"، "دقيقة"، "ساعة"، "يوم" |
البيانات الوصفية | عرض بيانات التعريف حول الاستعلام | خطأ شنيع | "صحيح"، "كاذب" |
يمكنك استرداد التعليقات مباشرةً باستخدام المعلمة ids. للحصول على مجموعة من التعليقات حسب المعرف الخاص بها، استخدم المثال التالي:
قم باسترجاع ثلاثة تعليقات باستخدام قيم المعرف الأساسية 36 الخاصة بهم
https://api.pushshift.io/reddit/comment/search?ids=dlrezc8,dlrawgw,dlrhbkq
هناك عدد لا بأس به من المعلمات التي يجب مراجعتها، لذا فلنبدأ بتقديم بعض الأمثلة الأكثر تعقيدًا وكيفية استخدام المعلمات أعلاه. دعنا نواصل المثال السابق أعلاه ونتوسع في البحث عن الكلمات الرئيسية "العلمية". ماذا لو أردنا البحث عن مصطلح "العلم" ولكن قصرناه على موقع فرعي محدد؟ باستخدام المعلمة subreddit، يمكننا القيام بذلك:
ابحث عن أحدث التعليقات التي تشير إلى كلمة "علم" ضمن subreddit /r/askscience
https://api.pushshift.io/reddit/search/comment/?q=science&subreddit=askscience
سيؤدي هذا إلى عرض 25 تعليقًا تحتوي على المصطلح "علم" ولكن فقط من /r/askscience subreddit. نظرًا لأننا لم نطلب طريقة فرز معينة، فسيتم إرجاع أحدث التعليقات (معلمة الفرز الافتراضية هي "desc"). ماذا لو أردنا أن يكون أول تعليق على الإطلاق لـ /r/askscience يذكر كلمة "علم"؟ يمكننا استخدام معلمات الفرز والحجم للتعامل مع ذلك.
ابحث عن أحدث التعليقات التي تشير إلى كلمة "علم" ضمن subreddit /r/askscience
https://api.pushshift.io/reddit/search/comment/?q=science&subreddit=askscience&sort=asc&size=1
هذه هي النتيجة:
{
"data": [
{
"author": "MockDeath",
"author_flair_css_class": null,
"author_flair_text": null,
"body": "Knowing more would definitely help. I guess all you can do is find out if they know the basics like you said then take it from there. That COu00b2 has the carbon turned to the isotope carbon14 in the upper atmosphere by cosmic radiation. This causes a specific percentage of carbon in the atmosphere to be carbon14.nnNow we are carbon based life forms and we have to get the carbon we are built out of from some where. We get it from eating plants, and the plants get it from absorbing COu00b2 from the air. So so long as we are alive, we uptake new carbon14. So this gives you a pretty good base line for dating.nnNow to fight arguments against carbon dating you could use the example of how we can see proton collisions in the LHC for sensitivity of our equipment. Nuclear decay is very accurate in how fast it happens, this is why atomic clocks work to a much higher degree of accuracy than other methods of time keeping. Also, you might want to make a general appeal for science. Science works, that is why we have TV's, robots, particle accelerators, satellites, computers, MRI and CAT scanners, nuclear power, etc etc. Scientists are not just willy nilly making shit up, or these kinds of things wouldn't work.",
"created_utc": 1270637661,
"id": "c0nn9iq",
"link_id": "t3_bne3u",
"parent_id": "t1_c0nn5ux",
"score": 2,
"subreddit": "askscience",
"subreddit_id": "t5_2qm4e"
}
],
"metadata": {
"execution_time_milliseconds": 30.52,
"results_returned": 1,
"shards": {
"failed": 0,
"successful": 36,
"total": 36
},
"size": 1,
"sort": "asc",
"sort_type": "created_utc",
"timed_out": false,
"total_results": 134785,
"version": "v3.0"
}
}
من النتيجة التي تم إرجاعها، يمكننا أن نرى أن أول تعليق على الإطلاق إلى /r/askscience يذكر فيه "العلم" حدث في تاريخ العصر 1270637661، والذي يُترجم إلى الأربعاء 7 أبريل 2010 الساعة 10:54:21 صباحًا (بتوقيت جرينتش). دعونا نتناول بسرعة أجزاء البيانات الوصفية. يمكننا أن نرى أن وقت تنفيذ هذا البحث كان حوالي 30 مللي ثانية. تم البحث في إجمالي 36 قطعة وكانت جميعها ناجحة. لم تنته مهلة البحث (معلمة timed_out) وهو أمر جيد. هذه هي السمة التي قد ترغب في التحقق منها إذا كنت تستخدم واجهة برمجة التطبيقات (API) برمجيًا، حيث قد تنتهي مهلة بعض عمليات البحث الأكثر تعقيدًا في بعض الأحيان. قيمة Total_results هي 134,785. يخبرنا هذا بالعدد الإجمالي للتعليقات في /r/askscience التي تذكر كلمة "علم". وبما أننا لم نستخدم المعلمات قبل أو بعد، فإن هذا الرقم يمثل مجمل التعليقات المقدمة إلى /r/askscience.
فلنواصل استخدام معلمات إضافية لتسليط الضوء على قوة واجهة برمجة تطبيقات البحث. تسمح لك المعلمات قبل وبعد بتقييد الإطار الزمني للبحث من خلال إعطاء طابع زمني لكليهما. ومع ذلك، تتفهم واجهة برمجة التطبيقات (API) أيضًا المزيد من القيم الشبيهة بالقيم البشرية للمعلمات قبل وبعد. يمكنك استخدام رقم متبوعًا بالأحرف s،m،h،d (التي تمثل الثانية والدقيقة والساعة واليوم) لتحديد الإطار الزمني أيضًا. دعونا نستعرض بعض الأمثلة.
إذا كنت تريد إجراء بحث عن "روما" في subreddit /r/askhistorians ولكن يقتصر البحث على الثلاثين يومًا الماضية فقط، فيمكنك استخدام المعلمة after بالقيمة 30d (30 يومًا).
ابحث في subreddit /r/askhistorians عن التعليقات التي تذكر روما خلال الثلاثين يومًا الماضية
https://api.pushshift.io/reddit/search/comment/?q=rome&subreddit=askhistorians&after=30d
ماذا لو كانت هناك قصة إخبارية حديثة قبل ثلاثة أيام، ولكننا أردنا تحديد نافذة البحث بين 4 أيام مضت ويومين مضت؟ يمكننا استخدام كل من المعلمة قبل وبعد للقيام بذلك. في المثال التالي، سنبحث عن التعليقات التي تشير إلى ترامب والتي تم إجراؤها منذ ما بين 4 إلى 2 أيام مضت ونقوم بفرزها تصاعديًا.
ابحث في جميع المنتديات الفرعية عن المصطلح "Trump" واعرض التعليقات التي تم إجراؤها قبل يومين إلى أربعة أيام
https://api.pushshift.io/reddit/search/comment/?q=trump&after=4d&before=2d&sort=asc
لنفترض أنك تريد إجراء بحث عن آخر 150 تعليقًا، ولكنك تحتاج فقط إلى إرجاع حقول المؤلف والنص لكل تعليق. باستخدام معلمة الحقول، يمكنك إخبار واجهة برمجة التطبيقات (API) بالمعلومات التي تريد تصفيتها. يهدف هذا في المقام الأول إلى المساعدة في تقليل النطاق الترددي إذا كنت تقدم الكثير من الطلبات وتحتاج فقط إلى إرجاع حقول محددة.
فيما يلي مثال باستخدام معلمة الحقول للبحث عن آخر 150 تعليقًا تشير إلى "الحكومة" وإرجاع حقلي المؤلف والنص فقط:
ابحث في جميع المنتديات الفرعية عن المصطلح "حكومة" وقم بإرجاع التعليقات باستخدام مفاتيح النص والمؤلف فقط
https://api.pushshift.io/reddit/search/comment/?q= Government&size=150&fields=body,author
باستخدام أحد الأمثلة أعلاه التي بحثت عن أول ظهور لكلمة "علم" في subreddit /r/askscience، رأينا أن مؤلف التعليق هو "MockDeath". ماذا لو أردنا الحصول على أول 100 تعليق أدلى بها "MockDeath" على Reddit؟ يمكننا استخدام معلمة المؤلف، إلى جانب معلمات الفرز والحجم.
ابحث في جميع المنتديات الفرعية واحصل على أول 100 تعليق على الإطلاق بواسطة المستخدم /u/MockDeath
https://api.pushshift.io/reddit/search/comment/?author=MockDeath&sort=asc&size=100
تعتبر التجميعات طريقة فعالة لتقديم بيانات تلخيصية للبحث. باستخدام المعلمة aggs، يمكننا إنشاء جوانب حول معلمات محددة بسرعة ومعرفة كيفية تغير البيانات بمرور الوقت. تقبل المعلمة aggs لعمليات البحث عن التعليقات القيم التالية: Author وsubreddit وreated_utc وlink_id. يمكننا القيام بالكثير من الأشياء الرائعة باستخدام هذه المعلمة، لذلك دعونا نتعمق في بعض الأمثلة.
لنفترض أننا أردنا رؤية مدى تكرار استخدام مصطلح "ترامب" مع مرور الوقت. نود أن نتمكن من معرفة عدد التعليقات التي تم نشرها في الساعة خلال الأيام السبعة الماضية لهذا الفصل الدراسي. باستخدام التجميعات والمعلمة aggs، يمكننا الحصول على تلك البيانات بسرعة. فيما يلي مثال باستخدام هذه المعايير:
أنشئ تجميعًا زمنيًا باستخدام المصطلح الرابحة لإظهار عدد التعليقات التي تشير إلى الورقة الرابحة في كل ساعة على مدار الأيام السبعة الماضية
https://api.pushshift.io/reddit/search/comment/?q=trump&after=7d&aggs=created_utc&frequency=hour&size=0
لقد استخدمنا معلمة التكرار جنبًا إلى جنب مع المعلمة aggs لإنشاء مجموعات كل ساعة لإظهار إجمالي عدد التعليقات التي تشير إلى ترامب خلال الأيام السبعة الماضية. تم ضبط معلمة الحجم على 0 لأننا مهتمون فقط بالحصول على بيانات التجميع وليس بيانات التعليق. يتم إرجاع بيانات التجميع في الاستجابة ضمن aggs الرئيسية -> create_utc. وفيما يلي مقتطف من الجزء الأول من العودة:
{
"aggs": {
"created_utc": [
{
"doc_count": 685,
"key": 1502406000
},
{
"doc_count": 1238,
"key": 1502409600
},
{
"doc_count": 1100,
"key": 1502413200
},
قيمة doc_count هي إجمالي عدد التعليقات التي تحتوي على المصطلح "ترامب". القيمة الأساسية هي وقت العصر لهذا الدلو المعين. في هذا المثال، يحتوي الجرافة الأولى على وقت زمني قدره 1502406000 والذي يتوافق مع يوم الخميس، 10 أغسطس 2017، الساعة 11:00:00 مساءً. هذه القيمة الأساسية هي وقت بداية المجموعة، لذلك في هذا المثال، 685 تعليقًا تحتوي على المصطلح "ترامب" بين الوقت الخميس 10 أغسطس 2017 الساعة 11:00:00 مساءً والخميس 10 أغسطس 2017 الساعة 12:00: 00 مساءً. تتيح لك معلمة التردد إنشاء مجموعات في الثانية والدقيقة والساعة واليوم والأسبوع والشهر والسنة. باستخدام هذا التجميع، يمكنك استخدام البيانات لإنشاء مخطط (أي Highcharts) ورسم بياني لنشاط التعليقات لمصطلحات محددة، ومؤلفين، وsubreddits، وما إلى ذلك. وهذه أداة قوية للغاية لتحليل البيانات.
ماذا لو كنت لا تريد فقط الحصول على تكرار مصطلحات التعليق المحددة مع مرور الوقت، ولكنك تريد أيضًا معرفة أي المنتديات الفرعية الأكثر شعبية لمصطلح معين خلال تلك الفترة الزمنية؟ فيما يلي مثال على استخدام معلمات aggs لإظهار أي من المنتديات الفرعية التي تتمتع بأكبر قدر من النشاط لمصطلح معين.
قم بإنشاء تجميعة subreddit باستخدام المصطلح trump لإظهار أهم subreddit التي تشير إلى trump خلال الأيام السبعة الماضية
https://api.pushshift.io/reddit/search/comment/?q=trump&after=7d&aggs=subreddit&size=0
هنا مقتطف من النتيجة:
{
"aggs": {
"subreddit": [
{
"bg_count": 66,
"doc_count": 44,
"key": "lovetrumpshaters",
"score": 0.6666666666666666
},
{
"bg_count": 20,
"doc_count": 9,
"key": "Denmark_Uncensored",
"score": 0.45
},
{
"bg_count": 51,
"doc_count": 16,
"key": "WhoRedditHatesNow",
"score": 0.3137254901960784
},
سيُرجع تجميع subreddit إجمالي عدد التعليقات في هذا subreddit الذي يذكر مصطلح الاستعلام (doc_count) بالإضافة إلى إجمالي عدد التعليقات التي تم إجراؤها على ذلك subreddit خلال تلك الفترة الزمنية (bg_count). لن يُظهر لك هذا فقط المنتديات الفرعية التي ذكرت ترامب في أغلب الأحيان، ولكنه يمنحك أيضًا نتائج طبيعية حتى تتمكن أيضًا من معرفة النسبة المئوية لتعليقات هذا المنتدي الفرعي التي تحتوي على مصطلح البحث. إذا كنت ستقوم ببساطة بتصنيف المنتديات الفرعية التي ذكرت من خلالها المنتديات الفرعية مصطلح البحث "ترامب" في أغلب الأحيان، فستنحاز النتائج نحو المنتديات الفرعية التي تحتوي أيضًا على أكبر قدر من النشاط بشكل عام. باستخدام هذا الأسلوب، يمكنك رؤية كل من العدد الأولي والبيانات المقيسة أيضًا.
تسمح واجهة برمجة التطبيقات (API) أيضًا بالتجميعات على link_id، وهي طريقة أخرى قوية جدًا لمعرفة عمليات الإرسال الأكثر شيوعًا بناءً على مصطلح بحث محدد. بالاستمرار في الأمثلة المذكورة أعلاه، دعنا نعطي سيناريو حيث سيكون ذلك مفيدًا للغاية. خلال الـ 24 ساعة الماضية، ظهرت العديد من القصص الكبيرة المتعلقة دونالد ترامب. ترغب في استخدام واجهة برمجة التطبيقات (API) لمعرفة التقديمات المرتبطة بترامب بناءً على عدد التعليقات التي تشير إليه ضمن التقديمات. يمكننا مرة أخرى استخدام المعلمة aggs وتعيينها على link_id للحصول على هذه المعلومات بسرعة. دعنا ننتقل إلى مثال آخر:
اعرض التقديمات التي تم تقديمها خلال الـ 24 ساعة الماضية والتي تذكر غالبًا الأوراق الرابحة في التعليقات
https://api.pushshift.io/reddit/search/comment/?q=trump&after=24h&aggs=link_id&size=0
سيعود هذا ضمن aggs -> مفتاح link_id مجموعة من كائنات الإرسال. يوفر doc_count العدد الإجمالي للتعليقات لكل إرسال يذكر مصطلح البحث ("trump") ويقدم bg_count إجمالي عدد التعليقات التي تم إجراؤها على هذا الإرسال. تعد هذه طريقة رائعة للعثور بسرعة على المشاركات "الساخنة" استنادًا إلى مصطلح أو عبارة بحث محددة.
تتيح لك واجهة برمجة التطبيقات (API) أيضًا إنشاء مجموعات للمؤلفين حتى تتمكن بسرعة من معرفة المؤلفين الذين يقدمون أكبر عدد من التعليقات لمصطلح بحث معين. فيما يلي مثال لاستخدام تجميع المؤلف:
أظهر أبرز المؤلفين الذين ذكروا مصطلح "ترامب" خلال الـ 24 ساعة الماضية
https://api.pushshift.io/reddit/search/comment/?q=trump&after=24h&aggs=author&size=0
{
"aggs": {
"author": [
{
"doc_count": 605,
"key": "grrrrreat"
},
{
"doc_count": 329,
"key": "AutoModerator"
},
{
"doc_count": 168,
"key": "autotldr"
},
{
"doc_count": 73,
"key": "SnapshillBot"
},
سيُظهر لك تجميع المؤلفين المؤلفين الذين يقدمون أكبر عدد من التعليقات التي تحتوي على مصطلح استعلام محدد. من المثال أعلاه، الكثير من كبار المؤلفين الذين ذكروا مصطلح "ترامب" هم في الواقع روبوتات.
باستخدام المعلمة aggs، يمكنك دمج مجموعات متعددة والحصول على الكثير من بيانات الجوانب لمصطلح معين. باستخدام الأمثلة المذكورة أعلاه، يمكننا دمج جميع المكالمات في مكالمة واحدة وإظهار أهم المشاركات على مدار الـ 24 ساعة الماضية، وتكرار التعليقات في الساعة التي تذكر ترامب، وأهم المؤلفين الذين ينشرون عن ترامب، وأهم المنتديات الفرعية التي لديها تعليقات. على ذكر ترامب.
عرض تجميعات للمؤلفين، والمشاركات، وsubreddits والتكرار الزمني لمصطلح "Trump" خلال الـ 24 ساعة الماضية
https://api.pushshift.io/reddit/search/comment/?q=trump&after=24h&aggs=author,link_id,subreddit,created_utc&frequency=hour&size=0
للبحث عن التقديمات، استخدم نقطة النهاية https://api.pushshift.io/reddit/search/submission/ endpoint. لنبدأ ببعض الأمثلة ثم نتناول المعلمات المختلفة المتاحة عند استخدام نقطة النهاية هذه. لإجراء بحث بسيط، يتم استخدام المعلمة q للبحث عن كلمة أو عبارة محددة. هنا مثال:
البحث عن أحدث المشاركات التي تحتوي على كلمة "علم"
https://api.pushshift.io/reddit/search/submission/?q=science
سيؤدي هذا إلى البحث عن أحدث المشاركات التي تحتوي على كلمة "علم" في العنوان أو النص الذاتي. البحث ليس حساسًا لحالة الأحرف، لذلك سيجد أي حدث علمي بغض النظر عن الكتابة بالأحرف الكبيرة. تقوم واجهة برمجة التطبيقات (API) افتراضيًا بالفرز حسب عمليات الإرسال الأحدث أولاً. بعد تشغيل هذا البحث، يتم إرجاع 25 نتيجة. هذا هو الحجم الافتراضي لعمليات البحث ويمكن تغييره باستخدام معلمة الحجم. سيتم مناقشة هذا بمزيد من التفصيل في قسم المعلمات. يتم إرجاع البيانات بتنسيق JSON ويتم تضمين النتائج في مفتاح "البيانات".
هناك العديد من المعلمات الإضافية التي يمكن استخدامها عند إجراء بحث الإرسال. دعونا نتناول كل واحد منهم الآن ونقدم أمثلة لكل واحد منهم.
المعلمة | وصف | تقصير | القيم المقبولة |
---|---|---|---|
معرفات | احصل على طلبات محددة عبر معرفاتهم | لا يوجد | معرّفات Base36 المفصولة بفواصل |
س | مصطلح البحث. سيتم البحث في جميع الحقول الممكنة | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
س: لا | استبعاد مصطلح البحث. سوف تستبعد هذه الشروط | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
عنوان | يبحث في حقل العنوان فقط | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
العنوان:لا | استبعاد مصطلح البحث من العنوان. سوف تستبعد هذه الشروط | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
com.selftext | يبحث في حقل النص الذاتي فقط | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
النص الذاتي: لا | استبعاد مصطلح البحث من النص الذاتي. سوف تستبعد هذه الشروط | لا يوجد | سلسلة / سلسلة مقتبسة للعبارات |
مقاس | عدد النتائج المراد إرجاعها | 25 | عدد صحيح <= 500 |
الحقول | حقول محددة بإرجاع واحد (مفصولة بفواصل) | كافة المجالات | سلسلة أو سلسلة مفصولة بفواصل (يُسمح بقيم متعددة) |
نوع | فرز النتائج بترتيب معين | "تنازل" | "تصاعدي"، "تنازلي" |
Sort_type | فرز حسب سمة محددة | "تم الإنشاء_utc" | "النتيجة"، "num_comments"، "created_utc" |
com.aggs | إرجاع ملخص التجميع | لا يوجد | ["author"، "link_id"، "created_utc"، "subreddit"] |
مؤلف | يقتصر على مؤلف معين | لا يوجد | سلسلة أو سلسلة مفصولة بفواصل (يُسمح بقيم متعددة) |
com.subreddit | يقتصر على subreddit محددة | لا يوجد | سلسلة أو سلسلة مفصولة بفواصل (يُسمح بقيم متعددة) |
بعد | عودة النتائج بعد هذا التاريخ | لا يوجد | قيمة العصر أو عدد صحيح + "s,m,h,d" (أي 30 يومًا لمدة 30 يومًا) |
قبل | إرجاع النتائج قبل هذا التاريخ | لا يوجد | قيمة العصر أو عدد صحيح + "s,m,h,d" (أي 30 يومًا لمدة 30 يومًا) |
نتيجة | تقييد النتائج على أساس النتيجة | لا يوجد | عدد صحيح أو > x أو < x (أي النتيجة=>100 أو النتيجة=<25) |
num_comments | تقييد النتائج على أساس عدد التعليقات | لا يوجد | عدد صحيح أو > x أو < x (أي num_comments=>100) |
أكثر من 18 | يقتصر على محتوى nsfw أو sfw | كلاهما مسموح به | "صحيح" أو "كاذب" |
is_video | يقتصر على محتوى الفيديو | كلاهما مسموح به | "صحيح" أو "كاذب" |
مغلق | إرجاع المواضيع المقفلة أو غير المؤمنة فقط | كلاهما مسموح به | "صحيح" أو "كاذب" |
لزجة | قم بإرجاع المحتوى الثابت أو غير الثابت فقط | كلاهما مسموح به | "صحيح" أو "كاذب" |
كابح | استبعاد أو تضمين المفسدين فقط | كلاهما مسموح به | "صحيح" أو "كاذب" |
contest_mode | استبعاد أو تضمين عمليات إرسال وضع المحتوى | كلاهما مسموح به | "صحيح" أو "كاذب" |
تكرار | يُستخدم مع المعلمة aggs عند التعيين على create_utc | لا يوجد | "ثانية"، "دقيقة"، "ساعة"، "يوم" |
البيانات الوصفية | عرض بيانات التعريف حول الاستعلام | خطأ شنيع | ["صحيح"، "خطأ"] |
تعتبر هذه المكالمة مفيدة جدًا عند استخدامها مع واجهة برمجة تطبيقات Reddit. عندما تكون هناك عمليات إرسال كبيرة تحتوي على آلاف التعليقات، غالبًا ما يكون من الصعب الحصول على جميع معرفات التعليقات الخاصة بالإرسال. سيُرجع هذا الاستدعاء مجموعة من معرفات التعليقات عند تمرير معرف الإرسال إليها. نقطة النهاية هي: https://api.pushshift.io/reddit/submission/comment_ids/{base36 Submit id}
سيعيد هذا الاستدعاء مفتاح بيانات مع مجموعة من معرفات التعليقات. يمكنك بعد ذلك استرداد معلومات التعليق الفعلية من واجهة برمجة التطبيقات هذه أو واجهة برمجة تطبيقات Reddit. إذا كان التقديم جديدًا إلى حد ما، فمن الأفضل استخدام Reddit API للحصول على أحدث النتائج للتعليقات.
استرداد كافة معرفات التعليق لكائن الإرسال
https://api.pushshift.io/reddit/submission/comment_ids/6uey5x
نقطة النهاية | وصف | حالة |
---|---|---|
/رديت/بحث/تعليق/ | بحث في تعليقات رديت | نشيط |
/رديت/بحث/تقديم/ | بحث في التقديمات رديت | نشيط |
/reddit/submission/comment_ids/{base36-submission-id} | استرداد معرفات التعليق لكائن الإرسال | نشيط |
/reddit/analyze/user/{author-name} | تحليل نشاط مستخدم Reddit | في التنمية |
/reddit/term/frequency/{term} | تحليل المصطلح على أساس النشاط | في التنمية |
/رديت/بحث/الكل/ | ابحث في كل من التعليقات والإرسالات | في التنمية |
/ رديت / تتجه / الناس | اكتشف من هو الرائج على Reddit | في التنمية |
/ رديت / بحث / وصلات | ابحث عن الروابط ذات الصلة التي تتم مشاركتها على Reddit | في التنمية |