المقدمة والتعريف
مكتبة arabseed-scraper هي مكتبة بايثون احترافية ومفتوحة المصدر مصممة خصيصاً للبحث التفاعلي واستخراج جميع روابط المشاهدة المباشرة (البث) وروابط التحميل المباشر من موقع عرب سيد ومراياه المختلفة وفك تشفيرها تلقائياً بالكامل.
تتميز الحزمة بنظام مرن ومرن جداً لتوزيع وفك تشفير الروابط التي يعتمدها الموقع لحماية الملفات، إلى جانب دعم تدوير المرايا والتحويل التلقائي للنطاقات الشغالة (Mirror Fallback) لتفادي مشاكل الحجب الإقليمي.
البدء السريع
تم رفع المكتبة وتوزيعها رسمياً على منصة حزم بايثون العالمية PyPI. يمكنك تثبيتها في ثوانٍ باستخدام مدير الحزم pip.
تثبيت الحزمة
pip install arabseed-scraper
مثال سريع للاستخدام البرمجي
from arabseed_scraper import ArabSeedAPI
# 1. تهيئة الكلاس
api = ArabSeedAPI()
# 2. البحث عن عمل
results = api.search("فيلم الست")
# 3. طباعة السيرفرات والروابط المباشرة المفكوكة التشفير
if results:
url = results[0]['url']
download_servers = api.get_download_links(url)
for d in download_servers:
print(f"السيرفر: {d['server']} -> الرابط المباشر: {d['direct_link']}")
واجهة الطرفية CLI التفاعلية
تأتي المكتبة مع واجهة تفاعلية ملونة وفائقة الجمال داخل موجه الأوامر (Terminal) مبنية بالكامل باستخدام مكتبة rich الرائعة. تتيح لك الواجهة البحث التفاعلي واختيار الفيلم أو الحلقة بمرونة كاملة وتوليد جداول منظمة للروابط.
تشغيل الواجهة التفاعلية
arabseed-scraper
تهيئة الـ API والتحكم بالمرايا
يمكنك تهيئة كلاس ArabSeedAPI بمرايا ونطاقات مخصصة للتحكم بالاتصال وإدارته بشكل كامل.
from arabseed_scraper import ArabSeedAPI
# تهيئة بموقع مخصص وتحديد مهلة اتصال (timeout) بـ 15 ثانية
api = ArabSeedAPI(base_url="https://m.asd.ink", timeout=15)
# اختبار سرعة استجابة النطاق بالثواني (Latency)
latency = api.test_connection()
print(f"سرعة الاستجابة: {latency:.4f} ثانية")
# البحث والتبديل التلقائي إلى أسرع نطاق مرآة شغالة حالياً
fallback_success = api.auto_fallback_mirror()
print("تم التبديل لأسرع مرآة بنجاح:", fallback_success)
print("النطاق النشط الحالي:", api.base_url)
البحث الذكي وتصنيف النتائج
تقوم دالة البحث بالبحث في الموقع الفعلي وتصنيف وتعديل البيانات بشكل منظم لتسهيل فلترتها.
مواصفات النتيجة الراجعة
| اسم الحقل (Key) | النوع (Type) | الوصف (Description) |
|---|---|---|
title |
str | العنوان الكامل للعمل باللغة العربية (مثال: فيلم الست 2025). |
url |
str | رابط الصفحة الخاصة بالعمل على عرب سيد. |
poster |
str | رابط صورة البوستر الرسمية للعمل بدقة كاملة. |
rating |
str | التقييم الفعلي للعمل (مثال: 7.8). |
quality |
str | شارة الجودة المتاحة (HDCAM، WEB-DL، BluRay). |
type |
str | النوع المصنف آلياً (فيلم، مسلسل / حلقة، موسيقى / أغنية، برنامج). |
جلب التفاصيل واستخراج حلقات المواسم
تستعلم هذه الدالة عن صفحة العمل للحصول على القصة وتفاصيل المسلسل والمواسم والحلقات كاملة.
# جلب تفاصيل العمل
details = api.get_details("https://m.asd.ink/مسلسل-ليل-الحلقة-69/")
print("اسم العمل الفعلي:", details["title"])
print("القصة:", details["description"])
print("هل العمل مسلسل؟:", details["is_series"])
# في حال كان مسلسلاً، اطبع حلقات الموسم بالكامل وروابطها
if details["is_series"]:
for ep in details["episodes"]:
active_status = "⭐ حلقة حالية" if ep["active"] else ""
print(f"- {ep['title']} -> {ep['url']} {active_status}")
جلب وفك تشفير روابط البث والتحميل
هذا هو قلب المكتبة؛ حيث يقوم بالتصفح الصامت لصفحات البث والتحميل الفرعية، وفك التشفير بالكامل ليعطيك سيرفرات جاهزة للتشغيل والتحميل الفوري.
1. روابط البث المباشر (Streaming Links)
# جلب فك تشفير سيرفرات المشاهدة الفورية
watch_links = api.get_watch_links(url)
for stream in watch_links:
print(f"سيرفر البث: {stream['server']}")
print(f"رابط المشاهدة المباشر: {stream['direct_link']}")
2. روابط التحميل المباشرة والبديلة (Download Links)
# جلب فك تشفير جميع روابط التحميل
download_links = api.get_download_links(url)
for dl in download_links:
print(f"سيرفر التحميل: {dl['server']}")
print(f"الجودة: {dl['quality']} | الحجم: {dl['size']}")
print(f"رابط التحميل الفوري: {dl['direct_link']}")