ابن سعید
خادم
پچھلے سال ہم انفارمیشن ویژولائزیشن کورس کے لیے ایک پروجیکٹ پر کام کر رہے تھے۔ اس کے تحت ہمیں K-12 Web Archivingکی سائٹ پر موجود مواد کو زیادہ مؤثر طریقے سے پیش کرنا تھا۔ ہمیں ضرورت محسوس ہوئی کہ وہاں موجود کئی ہزار یو آر ایلز کے ذخیرے کی اسکرین شاٹ لے لی جائے اور ان سے تھمب نیل بھی بنا لیے جائیں تا کہ نمائش کے لیے ٹائٹل پر لنک دینے کے بجائے تھمب نیل کو متعلقہ سائٹ سے لنک کیا جائے۔ فرداً فرداً اتنے سارے صفحات کا اسکرین شاٹ لینا ممکن نہ تھا اس لیے اسکرین شاٹ لینے والے اسکرپٹ ڈھونڈنے لگے۔ پائتھون میں بنا ایک اسکرپٹ مل بھی گیا لیکن وہ کسی سبب چلا نہیں۔ ہمیں ذرا جلدی تھی اس لیے کوئی ویب سروس ڈھونڈھنے لگے جو یو آر ایل سبمٹ کرنے پر اس کا اسکرین شاٹ بنا دے۔ ایسی کچھ سائٹیں مل بھی گئیں لیکن ان کے ساتھ عجیب و غریب قسم کی حد بندیاں تھیں۔ بہر کیف ہم نے ایک ویب سروس کا انتخاب کر لیا۔ ان کا طریقہ کار یہ تھا کہ ان کی سروس یو آر ایل کے بعد جس ویب صفحے کا اسکرین شاٹ لینا ہو اس کا یو آر ایل شامل کر دیں تو اسکرین شاٹ بنا کر مہا کر دی جاتی تھی۔ یہ ایپلیکیشن گوگل ایپ انجن پر بنا تھا اور اس میں دو مسائل تھے۔ اول تو یہ کہ اس کا استعمال کرنے کے لیے گوگل اکاؤنٹ سے لاگن ہو کر اس سروس کو او آتھ (OAuth) پروٹوکول کی مدد سے آتھرائز کرنا ہوتا تھا اور دوسرا مسئلہ یہ تھا کہ اسکرین شاٹ بنانے کی ریکوئیسٹ ایسنکرونس تھی۔ یعنی ضروری نہیں کہ پہلی کوشش کے نتیجے میں فوراً اسکرین شاٹ دستیاب ہو جائے بلکہ اسکرین شاٹ کی کال سرور پر ایک قطار میں لگ جاتی تھی اور جب بھی وہ ریکوئیسٹ پروسیس ہوتی تو دوسری بار اسی ریوکئسٹ کو دہرانے پر کیش سے وہ تصویر فراہم کر دی جاتی تھی۔ اس کا مطلب یہ ہوا کہ ہم تقریباً تیس ہزار ویب پیج یو آر ایلز کو پروگرام کی مدد سے یکے بعد دیگرے ایک لوپ میں چلاتے اور چند منٹ رک کر دوبارہ یہی عمل دہراتے تو زیادہ تر تصاویر حاصل ہو جاتیں لیکن مسئلہ یہ تھا کہ پروگرام کی مدد سے او آتھ والا آتھرائزیشن اور گوگل اکاؤنٹ لاگن ایک الگ مسئلہ تھا جس کو کوڈ کرنے کے لیے مزید کام کرنا ہوتا۔ خیر ہم نے یہ حل نکالا کہ ایک ایچ ٹی ایم ایل صفحہ بنا لیں جس میں سارے لنک اس سروس یو آر ایل کے سابقے کے ساتھ امیج ٹیگ کے سورس کے طور پر شامل ہوں۔ ایسا ایک صفحہ ایک منٹ سے بھی کم وقت میں سادہ سے فار لوپ اور پرنٹ اسٹیٹمینٹ کی مدد سے تیار ہو گیا۔ اب ہم نے براؤزر میں اس سروس کو لاگن کیا، وہاں اس ایپلیکیشن کو آتھرائز کیا اور اسی براؤزر میں اپنا بنایا ہوا لوکل ایچ ٹی ایم ایل صفحہ لوڈ کر لیا۔ پہلی بار میں ایک ہی صفحے پر کئی ہزار غیر دستیاب تصاویر کے نشانات نمودار ہوئے لیکن ہمیں یہ معلوم تھا کہ براؤزر چھ ریسورسیز کی کنکرینسی کے ساتھ سرور کو ریکوئیسٹ بھیج رہا ہوگا۔تھوڑی دیر رک کر صفحہ ری فریش کیا تو جن صفحات کے اسکرین شاٹ بن چکے تھے وہ صفحے پر نمودار ہو گئے۔ چند منٹ کے لیے براؤزر کو اس کے حال پر چھوڑ دیا تاکہ تمام اسکرین شاٹ ریکوئیسٹ سرور پر قطار میں لگ جائیں۔ دس پندرہ منٹ بعد صفحہ پھر سے ری فریش کیا تو ساری تصاویر دستیاب تھیں۔ ہم نے مکمل صفحہ (منسلکہ وسائل سمیت) لوکل ڈسک پر محفوظ کر لیا۔ اس کے نتیجے میں ہمیں ایک عدد فولڈر حاصل ہوا جہاں ساری تصاویر موجود تھیں۔ ان کو ایک چھوٹے سے پروگرام کی مدد سے ری نیم کر لیا اور ہمارا کام بن گیا۔ یہاں احباب کے لیے نوٹ شامل کرنا ضروری خیال کرتے ہیں کہ اگر آپ کی مشین زیادہ قوت والی نہ ہو تو ایک ہی صفحے میں کئی ہزار تصاویر شامل مت کریں بلکہ کئی حصوں میں منقسم کر لیں۔ ہماری لینکس مشین کافی ریم اور پروسیسنگ قوت کی حامل تھی لیکن چند ثانیے کے لیے اس کا ونڈو مینیجر چیخ اٹھا تھا، اسکرین پر سیاہی اتر آئی تھی اور سب کچھ ہینگ ہو گیا تھا لیکن پھر رینڈرنگ بحال ہو گئی۔