snscrape عبارة عن مكشطة لخدمات الشبكات الاجتماعية (SNS). يقوم باستخلاص أشياء مثل ملفات تعريف المستخدمين أو علامات التصنيف أو عمليات البحث وإرجاع العناصر المكتشفة، على سبيل المثال المنشورات ذات الصلة.
الخدمات التالية مدعومة حاليًا:
يتطلب snscrape إصدار Python 3.8 أو أعلى. يتم تثبيت تبعيات حزمة Python تلقائيًا عند تثبيت snscrape.
لاحظ أن إحدى التبعيات، lxml، تتطلب أيضًا تثبيت libxml2 وlibxslt.
pip3 install snscrape
إذا كنت تريد استخدام الإصدار التطويري:
pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git
بناء الجملة العام لـ CLI الخاص بـ snscrape هو:
snscrape [GLOBAL-OPTIONS] SCRAPER-NAME [SCRAPER-OPTIONS] [SCRAPER-ARGUMENTS...]
snscrape --help
و snscrape SCRAPER-NAME --help
في تقديم تفاصيل حول الخيارات والوسائط. يسرد snscrape --help
أيضًا جميع أدوات الكشط المتاحة.
الإخراج الافتراضي لـ CLI هو عنوان URL لكل نتيجة.
بعض الخيارات العالمية الجديرة بالملاحظة هي:
--jsonl
للحصول على الإخراج كـ JSONL. يتضمن ذلك جميع المعلومات المستخرجة بواسطة snscrape (على سبيل المثال، محتوى الرسالة والوقت والصور، وتختلف التفاصيل باختلاف أداة استخراج البيانات).--max-results NUMBER
لإرجاع النتائج الأولى NUMBER
فقط.--with-entity
للحصول على عنصر في الكيان الذي يتم استخراجه، على سبيل المثال المستخدم أو القناة. هذا غير مدعوم في جميع أدوات الكشط. (يمكنك استخدام هذا مع --max-results 0
لجلب معلومات الكيان فقط.) اجمع كل التغريدات التي كتبها جيسون سكوت (@textfiles):
snscrape twitter-user textfiles
من المفيد عادة إعادة توجيه المخرجات إلى ملف لمزيد من المعالجة، على سبيل المثال في bash باستخدام اسم الملف twitter-@textfiles
:
snscrape twitter-user textfiles > twitter-@textfiles
للحصول على أحدث 100 تغريدة باستخدام الهاشتاج #archiveteam:
snscrape --max-results 100 twitter-hashtag archiveteam
من الممكن أيضًا استخدام snscrape كمكتبة في Python، لكن هذا غير موثق حاليًا.
إذا اكتشفت مشكلة في snscrape، فيرجى الإبلاغ عنها على https://github.com/JustAnotherArchivist/snscrape/issues. إذا كنت تستخدم واجهة سطر الأوامر (CLI)، فيرجى تشغيل snscrape باستخدام -vv
وتضمين مخرجات السجل في المشكلة. إذا كنت تستخدم snscrape كوحدة نمطية، فيرجى تمكين التسجيل على مستوى تصحيح الأخطاء باستخدام import logging; logging.basicConfig(level = logging.DEBUG)
(قبل استخدام snscrape على الإطلاق) وقم بتضمين مخرجات السجل في المشكلة.
في بعض الحالات، قد يتطلب تصحيح الأخطاء معلومات أكثر مما هو متوفر في السجل. تحتوي واجهة سطر الأوامر (CLI) على خيار --dump-locals
الذي يتيح تفريغ جميع المتغيرات المحلية داخل snscrape بناءً على رسائل السجل المهمة (بدلاً من، افتراضيًا، عند الأعطال فقط). لاحظ أن ملفات التفريغ قد تحتوي على معلومات حساسة في بعض الحالات ويمكن استخدامها للتعرف عليك (على سبيل المثال، إذا كانت الخدمة تتضمن عنوان IP الخاص بك في استجابتها). إذا كنت تفضل ترتيب نقل الملفات بشكل خاص، فما عليك سوى ذكر ذلك في المشكلة.
هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العامة كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الترخيص، أو (حسب اختيارك) أي إصدار لاحق.
يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا، ولكن دون أي ضمان؛ دون حتى الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. راجع رخصة جنو العامة لمزيد من التفاصيل.
ينبغي أن تكون قد حصلت على نسخة من رخصة جنو العامة مع هذا البرنامج. إذا لم يكن الأمر كذلك، راجع https://www.gnu.org/licenses/.