أنت حر في تنزيل الأداة واستخدامها لأغراضك الخاصة. إذا قمت بتعديل هذا البرنامج وأردت مشاركته، قم بعمل شوكة. يجب عليك تضمين رابط إلى المستودع الأصلي في الأعلى كما هو موضح هنا: المستودع الأصلي: [الرابط]
يتيح لك البرنامج المتقدم التحكم في سلوكه بشكل أكبر وتعديل تكوينه. بالنسبة لمعظم المستخدمين، المعيار يكفي. إصدار البرنامج المتقدم موجود داخل "advanced_version" Dir في هذا المستودع.
أقوم بإنشاء هذا التطبيق لتعلم بعض لغة بايثون والحصول عليه كوسيلة احتياطية لتنزيل البطاقة المجمعة. لدي وظيفة إضافية للمتصفح كتبتها في JS وتعمل بشكل جيد، لكنني أعمل على هذا الحل في حالة توقف الوظيفة الإضافية المعطلة عن العمل. أيضًا، لن أقوم بنشر الكود المصدري لهذه الوظيفة الإضافية لأنها مصممة خصيصًا لي - لذا فهي معطلة بعض الشيء ولكن إلى الحد الذي لا أزعجني بإصلاحه. وهذه هي الطريقة التي تبدأ بها هذه المشاريع. تتمثل الخطة في استخدام السيلينيوم والقيام بوظائف أكثر مما يمكن أن تفعله الوظيفة الإضافية الحالية للمتصفح. تعمل الوظيفة الإضافية عن طريق النقر على أزرار التنزيل بالترتيب، والانتظار لمدة زمنية محددة حتى انتهاء التنزيل (لمنع التنزيلات المتعددة، نظرًا لأن الموقع لم يعجبه ذلك)، ثم النقر فوق الزر التالي للانتقال إلى الصفحة التالية وتكرار ذلك . أريد الآن إنشاء حل آخر يسمح للمستخدم بإنشاء ملفات التكوين لأتمتة عملية التنزيل بشكل أكبر. سوف أرى أين سيأخذني.
أرى بالفعل أن كتابة ملحق JS لهذا الغرض كان فائق السرعة وأقل تعقيدًا، ولكن من المؤكد أن كلا الحلين لهما إيجابيات وسلبيات. (ربما سأذكرها لاحقا)
البرنامج قيد التطوير، لذا يُنصح بقراءة تعليقات التعليمات البرمجية داخل ملفات .py لفهم طريقة عمله الداخلية بشكل أفضل
تم تصميم البرنامج من أجل db.bepis.moe - لذلك إذا كنت غير متأكد من القيمة التي يمكنك إدخالها في بعض الحقول -> انتقل إلى موقع الويب -> حدد اللعبة -؟ تحقق مما يمكنك تحديده و/أو إدخاله في نموذج البحث
حدد نوع اللعبة
حدد نوع التنزيل -> "أساسي" يسمح بإدخال "الاسم" و/أو "العلامة" فقط للبحث -> "متقدم" - يسمح بإعداد كل معلمة بحث متاحة للعبة المحددة (العمل جارٍ على تلك المعلمة)
أدخل قيمة لكل حقل مطلوب أو انقر فوق "إدخال" للحصول على القيمة الافتراضية.
انتظر حتى ينتهي التنزيل.
يتم تحميل صفحة اللعبة المحددة ويتم ملء النموذج بالسيلينيوم.
بعد النقر على زر البحث، ينتظر البرنامج 5 ثوانٍ حتى يتم تحميل موقع الويب.
سيتم تنزيل البطاقة كل 5 ثوانٍ، لمنع التنزيلات المتعددة، نظرًا لأن موقع الويب لا يحب التنزيلات المتعددة. (يمكن أن يزيد حجم بعض البطاقات عن 25 ميجابايت، ولهذا السبب من الأفضل منحها وقتًا أكثر من أقل) // قد أقوم بإنشاء وظيفة تتحقق من انتهاء تنزيل البطاقة بدلاً من المتابعة إلى البطاقة التالية في المستقبل.
إذا كانت الصفحة تحتوي على أقل من 24 بطاقة، فهي الصفحة الأخيرة (أو واحدة فقط) -> انتهى التنزيل
إذا كانت الصفحة تحتوي على 24 بطاقة ولكن زر "التالي" معطل -> انتهى التنزيل
إذا كان الزر نشطًا -> قم بتغيير عنوان url وتحميل الصفحة -> ابدأ في تنزيل البطاقات، حتى يكون هناك أقل من 24 بطاقة في الصفحة أو يتم تعطيل زر "التالي".
تزن بعض البطاقات كثيرًا، حتى أكثر من 25 ميجابايت - إذا كان الإنترنت لديك بطيئًا - قم بتغيير وقت الانتظار - بين تنزيلات البطاقة حتى 20 ثانية!
تحتوي وظائف SLEEP المقابلة في التعليمات البرمجية على تعليقات محاطة بـ #. تماما كما هو موضح أدناه:
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+المشكلة المعروفة هي -> سوف تقوم البرمجيات الخبيثة بقتل البرنامج إذا قمت بتشغيله من PyCharm، وربما بأي شكل آخر. قم بتعطيله وحاول استخدامه مرة أخرى. // يحب قتل نصوص بايثون.
للتأكد من أن البرنامج قام بتحميل جميع البطاقات يمكنك استخدام هذه الصيغة: ((عدد الصفحات) - 1) * 24 + (عدد البطاقات في الصفحة الأخيرة)
لمدة 7 صفحات، عندما تحتوي الأخيرة على 4 بطاقات، سيكون الأمر كما يلي: 6*24+4 = 148 بطاقة
للمستخدمين الأقل تقدمًا: لا تستخدم هذا البرنامج النصي لتنزيل "المحتوى المباشر" -> إذا قام شخص ما بتحميل بطاقات جديدة إلى الموقع، وكان ذلك ينطبق على شروط التنزيل الخاصة بك، فلن يقوم البرنامج النصي بتنزيلها. سيؤدي هذا الموقف إلى تغيير ترتيب البطاقات ويمكن أن يؤدي إلى حذف بعض البطاقات في البحث النشط للغاية أو التنزيل المكرر. تخيل أن هناك 30 بطاقة على موقع الويب - صفحة واحدة تحتوي على 24 بطاقة و6 بطاقات في الصفحة 2. تبدأ في التنزيل وفي الثواني الأولى يقوم شخص ما بتحميل 3 بطاقات أخرى. يمكن للصفحة التعامل مع 24 بطاقة، لذلك يتم نقل آخر 3 بطاقات إلى الصفحة 2، حيث يوجد الآن 9 بطاقات. لكن البرنامج النصي لا يعرف ذلك - حيث يحتوي متصفحه على صفحة محملة قبل ذلك. يحتوي على إصدار موقع الويب الذي لم يتم نقل البطاقات إليه. يتغير البرنامج النصي إلى الصفحة التالية (الصفحة 2). يمكنك تنزيل تلك البطاقات التسعة بما في ذلك 3 بطاقات لديك بالفعل.