Github: EhsanShahbazii - Telegram: ehsandevv
یافتن کیس ازدواج به سبک برنامه نویسی (قسمت 2)
لينک قسمت اول يافتن کيس ازدواج به سبک برنامه نويسي (قسمت1) رو اينجا ميتونيد بخونيد!
خب قسمت اول متاسفانه خیلی نتونستیم موفق باشیم🥲 و افراد زیادی پیدا کنیم. چون دیتاست اسامی دختر ما کم بود. حالا قسمت دوم رو مشاهده میکنید که قراره این مشکل رو حل کنیم.👍
قسمت صفر: چرا این کار را کرده ام؟
خب گشتم یه دیتاست جامع تر پیدا کردم. منتهی گفتم اگه از اون استفاده کنیم خیلی بار علمی مقاله کم میشه. برای همین خودمون دست به کار میشیم و اسم دخترانه از یه جایی جمع آوری میکنیم!🥸 حالا اسامی دخترانه از کجا پیدا کنیم؟ یه جا که ذهنم میاد اینه که یه سایت هست به اسم اکرام، که میتونی ازش فرزند🫂 معنوی انتخاب کنی و یه مبلغی براش پرداخت کنی و هم خودت خوشحال بشی و هم بچه ها خوشحال بشن. خب احساس میکنم بتونم یه حرکتی روش بزنیم. برییم ببینیم چی میشه!✨
قسمت یک: چطوری اسم هارو پیدا کنم؟
خب یه قسمت هست بدون ثبت نام میشه کار رو انجام داد. پس از این قسمت وارد کار میشیم و نیاز نیست قسمت لاگین و اینا رو هندل کنیم.👍 لینک صفحه گلوبال
خب الان کافیه ستون اسم و جنسیت رو در بیاریم از اینجا.🌹 اول که به دیتا و ریکوئست ها نگاه میکنیم یه چیزی میفهمیم. درخواست صفحه جدید رو سرور به صورت html بر میگردونه و json نیست که خیلی راحت ازش دیتایی که مد نظر ما هست رو دربیاریم.🥲 پس نیازه که از مرورگر استفاده کنیم. خب میتونیم از chromium یا playwright استفاده کنیم که من از دومی استفاده میکنم.🪓
پس الان کافیه هر بار اطلاعات جدول رو بگیریم و بعد دکمه صفحه بعد رو بزنیم و دوباره همین کار رو تکرار کنیم. یه محدوده ای میتونیم تعیین کنیم چون هر بار 8 تا ردیف تو جدول داریم و تعداد کل بچه ها 423036 هست. يعني تقريبا 52879 بار اين کار رو بايد تکرار کنيم. خب شروع ميکنيم.🦸
قسمت دو: يه مشکلي وجود داره!
بعد از 58 بار کليک کردن روي دکمه صفحه بعد، ديگه صفحه بعدي لود نميشه و 404 برميگردونه:💔
خب اين يعني فقط 464 تا اسم تونستيم جمع کنيم که خيلي کمه!😥 پس بايد يه روش ديگه اي رو امتحان کنيم! خب اگه به url دقت کنيم، وقتي دکمه اي رو ميزنيم url تغييري نميکنه و ثابت ميمونه. پس يه کاري ميکنيم. ميايم url رو تغيير ميديم ببينيم آيا ميتونيم ديتا هارو بگيريم يا نه!🥸🔥
https://ekram.emdad.ir/Orphan/General
حالا به صورت زير مينويسيم و آره! 🦸همون ديتا هارو ميگيريم بدون اينکه کليک کنيم و بريم صفحه بعدي!
https://ekram.emdad.ir/Orphan/General?page=2
پس به جاي کليک کردن، هر بار ريکوئست صفحه جديد ميزنيم و به اين صورت ديتا هارو ميگيريم!🔥
قسمت سه: خب حالا چطور شد؟
الان ما داريم اسم بچه هارو ميگيريم. نياز داريم اسامي تکراري رو ديگه ذخيره نکنيم👍 و چون وقت ما محدوده، فقط تا يه حد محدودي ميريم جلو و ديگه نيازي نيست. چون رفته رفته عداد اسم پيدا شده جديد، کمتر ميشه و همگرا ميشه و نياز نيست تا ته ادامه بديم. حالا چند تا اسم کم پيدا کنيم هم مشکلي نداره.🥸
خب لپ تاپ رو شب ميزاريم روشن بمونه و بسته نامحمود🔥 دارم و تا چند ساعت بمونه خودش کار هاش رو انجام بده. سايت نيازي نداره که با پروکسي ريکوئست بزنم يا تريک خاصي بزنم چون کپچا نداره.😂
خب حدود 4912 تا اسم دختر و پسر دستگيرمون شده و الان نيازه اسامي دخترانه رو بکشيم بيرون.🫂
خب حدود 2476 تا اسم دخترانه تونستيم جمع کنيم که نسبت به ديتاست قبلي خيلي بيشتره. حالا اگه ادامه ميداديم هم بيشتر هم پيدا ميشد ولي خب وقت نداريم.🥸 يه احتمالي ميدم شايد هم اشتباه باشه. بعضي اسم ها هم دخترانه هستن هم پسرانه مثل متين، يا احتمال داره بين اين 400 هزار بچه، اسم يکي رو اشتباه بنويسن يا جنسيتش رو اشتباه بنويسن.👍
قسمت چهار: بزن بريم مثل برق و باد!
الان مثل پست قبلي نياز داريم که ديتاست رو آپديت کنيم و دوباره همون کار هارو تکرار کنيم. 🥸براي تکراري نشدن ديگه اين قسمت هارو نميگم و فقط نتيجه رو نشون ميدم:
خب تو قسمت اول 4 نفر پيدا کرده بوديم که الان تونستيم 18 نفر پيدا کنيم!👰♀️ خب پيشرفت خوبيه و الان دستمون باز تر شد! حالا يه رولت روسي مينويسيم و هر کليک يه شليک ميشه و يه نفر بين اينها درخواست و دونت ميشه و بادا بادا مبارک بادا ايشالا مبارک بادا😂(شوخي بود)
سورس کد برنامه
سورس کد خاصي نداره و اين قسمت بيشتر تمرکزمون روي نحوه دريافت اطلاعات از سايت اکرام بوده:
سورس کد رو بعدا توي github و gist ميزارم :)
پيام بازرگاني 🎥: تا وقتي که تو کم عمق شنا ميکني، نميتوني بگي من شنا بلدم.
مطلبی دیگر از این انتشارات
یافتن کیس ازدواج به سبک برنامه نویسی (قسمت 1)
مطلبی دیگر از این انتشارات
ساخت دستيار هوش مصنوعي در ويرگول!
مطلبی دیگر از این انتشارات
درز اطلاعات دانشجو ها از طريق سايت سماد (قسمت 2)