كتابة نصوص برمجية لإضافة ميزة في IMDb.com

لنقل، فرضياً، أننا نريد مشاهدة أفضل الحلقات من مسلسل “ذا توايلايت زون”، أو ربما مسلسل فكاهي مثل “مالكوم إن ذا ميدل”. لن نفوت شيئاً إن تخطينا الحلقات السيئة إذ أن القصة حلقية

المفاجئ هو أن ترتيب الموسم حسب التقييم ليست ميزة أصلية في موقع أ.م.د.ب. لذا، هنا الخطوات التي يجب اتباعها لتنفيذ ذلك باستخدام متصفح ودفتر ملاحظات:

١- نذهب إلى صفحة الموسم على الموقع
https://www.imdb.com/title/tt0212671/
٢- نكتب جميع أرقام الحلقات مع تقييم المشاهدين
٣- نرتب الحلقات حسب التقييم

ولكن كما قال دوغلاس آدامز “أنا قلما أسعد عندما أمضي يوماً كاملاً في برمجة حاسوبي بقيام مهمة تلقائياً كانت لتستغرق عشر ثوانٍ تنفيذها بيدي” لذا، سأقوم بأتمتة المهمة السابقة >:)

أحد الحلول هي زحف بيانات الصفحات باستخدام
BeautifulSoup
أو مكتبة مشابهة. ولكن ذلك يخالف قوانين استخدام الموقع. يمكننا أيضاً الحصول على البيانات من واجهة مستخدم أ.م.د.ب الذي يوفَّر بشكل رسمي من أجل المشاريع المجانية الشخصية، ولكني أجد أن هذا الحل يستغرق وقتاً طويلاً إذ نحتاج لصنع برنامج يعرض النتائج – برنامجاً يطابق صفحة الموسم على الموقع ولكن مختلف قــلــيــلاً

بدلاً من ذلك الحل، يمكننا “تهكير” الصفحة المعروضة على متصفحنا وإضافة زر بواجهة العميل ليرتّب الحلقات. ويمكننا القيام بذلك باستخدام نص برمجي لغريسمنكي
Greasemonkey

لقد كتبتُ نصاً ليرتب الحلقات. يستخدم نصي برمجة جافاسكريبت بسيطة لإضافة زر على الصفحة. عليكم تحميل إضافة greasemonkey على firefox أو tampermonkeyعلى chrome لتفعيله
https://greasyfork.org/en/scripts/418936-imdb-sort-episodes-by-rating

مثال لنتيجة نصّي!

greasemonkeyهي إضافة لمتصفح firefoxيمكّن للمستخدم تفعيل النصوص الخارجية. يوجد العديد من تلك النصوص على هذا الموقع
https://greasyfork.org
مثال لذلك هو النصوص العديدة المكتوبة من قبل مؤلفين متعددين لزيادة وظائف يوتوب
https://greasyfork.org/en/scripts/by-site/youtube.com
يمكنكم وجود العديد من النصوص لأي موقع فعلياً. في الماضي، كنت أستخدم العديد من النصوص على newgrounds.comلأرى منْ منَ المستخدمين على النت، ولعرض احصائيات مخفية قصد عرضها فقط لمصممي الموقع

آمل أنكم استفدتم، هلمّوا بالتهكير!