Home
Login

MediaCrawler هو أداة قوية متعددة المنصات لزحف وسائل الإعلام الاجتماعية.

NOASSERTIONPython 23.7kNanmiCoder Last Updated: 2025-06-20

MediaCrawler - أداة زحف الوسائط الاجتماعية متعددة المنصات

نظرة عامة على المشروع

MediaCrawler هي أداة زحف قوية ومتعددة المنصات للوسائط الاجتماعية، تم تطويرها وصيانتها بواسطة NanmiCoder. يعتمد هذا المشروع على تقنية Playwright، وهو قادر على جمع المعلومات العامة من العديد من منصات الوسائط الاجتماعية الرئيسية، بما في ذلك المحتوى والتعليقات وغيرها من البيانات.

البنية التقنية

التقنيات الأساسية

  • Playwright: كإطار عمل لأتمتة المتصفح، يحتفظ ببيئة المتصفح مع حالة تسجيل الدخول
  • Python: لغة التطوير الرئيسية، الإصدار المطلوب 3.9.6+
  • تنفيذ JavaScript: الحصول على معلمات مشفرة عن طريق تنفيذ تعبيرات JS
  • Node.js: الإصدار المطلوب 16+

آلية العمل

يعتمد المشروع طريقة Playwright، حيث يحتفظ ببيئة المتصفح السياقية بعد تسجيل الدخول بنجاح، ويحصل على بعض المعلمات المشفرة عن طريق تنفيذ تعبيرات JavaScript. هذه الطريقة تتجنب العمل المعقد المتمثل في إعادة إنتاج كود JS المشفر الأساسي، مما يقلل بشكل كبير من صعوبة الهندسة العكسية.

متطلبات البيئة

متطلبات النظام

  • Python 3.9.6+
  • Node.js 16+

إدارة التبعيات

أضاف المشروع uv لإدارة تبعيات المشروع. يمكنك استخدام uv لاستبدال pip التقليدي لتثبيت التبعيات، مما يجعله أكثر ملاءمة وسرعة.

التثبيت والنشر

خطوات التثبيت الأساسية

# الانتقال إلى الدليل الجذر للمشروع
cd MediaCrawler

# إنشاء بيئة افتراضية
python -m venv venv

# تفعيل البيئة الافتراضية
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate

# تثبيت التبعيات
pip install -r requirements.txt

# تثبيت متصفح playwright
playwright install

تهيئة قاعدة البيانات (اختياري)

# تنفيذ تهيئة قاعدة البيانات (للتنفيذ الأول فقط)
python db.py

طريقة الاستخدام

الأوامر الأساسية

# زحف البحث عن الكلمات الرئيسية
python main.py --platform xhs --lt qrcode --type search

# زحف معرف المنشور المحدد
python main.py --platform xhs --lt qrcode --type detail

# عرض معلومات المساعدة
python main.py --help

وصف التكوين

  • لا يتم تمكين وضع زحف التعليقات افتراضيًا في المشروع
  • إذا كنت بحاجة إلى زحف التعليقات، فيرجى تعديل المتغير ENABLE_GET_COMMENTS في config/base_config.py
  • يمكن أيضًا عرض تكوينات الوظائف الأخرى في config/base_config.py، وكلها تحتوي على تعليقات توضيحية باللغة الصينية

تخزين البيانات

طرق التخزين المدعومة

  1. قاعدة بيانات MySQL: دعم تخزين قاعدة البيانات العلائقية (يجب إنشاء قاعدة البيانات مسبقًا)
  2. ملف CSV: يتم حفظه في ملف بتنسيق CSV في الدليل data/
  3. ملف JSON: يتم حفظه في ملف بتنسيق JSON في الدليل data/

مزايا الإصدار Pro

يوفر المشروع أيضًا إصدار MediaCrawlerPro، والذي يتمتع بالمزايا التالية مقارنة بالإصدار مفتوح المصدر:

  • دعم حسابات متعددة + وكيل IP (وظيفة رئيسية)
  • إزالة تبعية Playwright، مما يجعل الاستخدام أسهل
  • دعم استخدام بيئة Linux
  • إعادة هيكلة الكود وتحسينه، مما يجعله أسهل في القراءة والصيانة
  • فصل منطق توقيع JS، جودة كود أعلى
  • تصميم معماري مثالي، أسهل في التوسع
  • إضافة برنامج سطح مكتب لتنزيل فيديو الوسائط الاجتماعية
  • دعم توصيات تدفق معلومات الصفحة الرئيسية متعددة المنصات (HomeFeed)

إخلاء المسؤولية القانونية

إخلاء المسؤولية

  • هذا المشروع مخصص فقط للدراسة والبحث، ويحظر استخدامه للأغراض التجارية
  • يحظر منعا باتا استخدامه لأغراض غير قانونية أو انتهاك الحقوق والمصالح المشروعة للآخرين
  • يجب على المستخدمين الامتثال للقوانين واللوائح ذات الصلة وتحمل المسؤولية القانونية بأنفسهم
  • لا يتحمل المطورون أي مسؤولية قانونية عن أي مسؤولية قانونية تنشأ عن استخدام هذا المشروع

قيمة المشروع

MediaCrawler ليس مجرد أداة زحف، ولكنه أيضًا مشروع تعليمي ممتاز:

  1. دراسة تصميم البنية: تصميم بنية المشروع ناضج ويستحق الدراسة والتعلم منه
  2. الممارسة التقنية: يغطي التطبيق الشامل لمجموعة متنوعة من التقنيات
  3. التفكير الهندسي: ممارسة هندسية كاملة من تنظيم الكود إلى النشر
  4. تقنية مكافحة الزحف: تعلم كيفية التعامل مع تقنيات مكافحة الزحف الحديثة