Github: @EhsanShahbazii - Telegram: @ehsandevv
گشنته و گشنه تر از معدت، جیبته؟
سعی میکنم یه خرده طنز و داستان هم اضافه کنم تا حوصله سربر نباشه☺️. البته اینی که تو ادامه گفتم ظنز نداره و در ادامه انشالله عمری باقی موند انجام میدم.
قسمت صفر: صورت مساله چیست برادر؟
احمد گشنه همیشه گشنه میشه🥸 و سریع میره از اسنپ فود غذا میگیره. یه مدت این کار رو تکرار کرده و الان ورشکست شده💸. الان میخواد باز غذا بگیره ولی فقط از فودپارتی که تخفیف مشتی بگیره و بزنه بر بدن.🎟️ متاسفانه احمد گشنه حوصله گشتن و پیدا کردن ارزون ترین غذا و اونم توی فود پارتی رو نداره😐. از ما کمک میخواد و میخواد کاری کنیم که سریع نینجایی ارزون ترین غذا رو پیدا کنیم و بهش نشون بدیم.🤖
قسمت اول: اصلا از کجا شروع کنیم ها؟
میریم میوفتیم به جون سایت و ببینیم چی میتونیم پیدا کنیم!🤗 آقا برای بار هزارم برای راحتی کار از قسمت inspect میریم و network رو باز میکنیم تا ببینیم چه ریکوئست هایی رد و بدل میشه. از هزار برنامه و روش های دیگه هم میشه همینکار رو کرد ولی پیچیده تر میشن.👍 اصلا دوست ندارم کار رو پیچیده بکنم و مثلا گنگ نشون بدم. به راحتی آب خوردن روش اگه وجود داشته باشه میگم.☺️
خب ریکوئست ها یه ذره زیاد هستن. میگردیم اونی که کل اطلاعات فود پارتی رو میده رو پیدا کنیم. اگه دقت کنیم دامنه فود پارتی به شکل foodparty.zoodfood.com هست. پس ما همینارو فیلتر میکنیم.🥸
خب یافتیم. این لینک که یکمی هم درازه!😂 هدف ماست و از این استفاده میکنیم. بریم ببینیم چی توش داره!
https://foodparty.zoodfood.com/676858d198d35e7713a47e66ba0755c8/mobile-offers/38.024/46.377?lat=38.024&long=46.377&optionalClient=WEBSITE&client=WEBSITE&deviceType=WEBSITE&appVersion=8.1.1&UDID=819f2357-9f44-4a94-8fb0-0716a798281e&front_id=food-party-100483&page=0&superType=1&segments={}&locale=fa
اگه دقت کنیم کلی چیزش اضافه هست و بدون اونا هم جواب میگیریم. پس غیر ضروری هارو حذف میکنیم:
https://foodparty.zoodfood.com/676858d198d35e7713a47e66ba0755c8/mobile-offers/46.377?lat=38.024&long=46.377
خب اینجا طول و عرض مختصات رو برای گرفتن نتایج مختلف برای شهر ها رو میتونیم دستی وارد کنیم یا اینکه با کد بنویسیم. چون من یکبار مصرف استفاده میکنم از این چیز، برای همین همین رو میزارم بمونه.👍
کلیییی اطلاعات برمیگردونه😂😐 یعنی کم مونده رنگ شرت آشپز رو هم بفرسته! خب ما فقط چند تاشو برمیداریم و استفاده میکنیم. چیزایی که نیاز دارم:
capacityPerOrder, deliveryFee, description, discount, isZFExpress, is_ecommerce, logo, main_image, minOrder, price, productVariationTitle, remaining, review_count, vendorTitle
قسمت دوم: احمد میخواد مارو بخوره! زود باش!
خب الان اگه به ریسپانس دقت کنیم قسمت Products کل غذا هارو میاره. باید از بین اینا اونی که ارزون ترینه رو پیدا کنیم و اون رو به احمد نشون بدیم تا مارو نخوره!😂
سناریو های مختلفی اینجا میشه پیاده کرد:
- فقط بر اساس ارزون بودن غذا تصمیم بگیریم.
- ارزون بودن و مقدار تخفیف رو هم در نظر بگیریم.
- ارزون بودن، مقدار تخفیف، تعداد نظر رو در نظر بگیریم.
- با همه پارامتر های موجود رو دخیل کنیم و در آخر تصمیم بگیریم.
برای راحتی و سریع پیش رفتن کار همون سناریو اول رو پیاده سازی میکنیم.🤖 البته باید در نظر بگیریم همچین سایت هایی روی ریکوئست زدن حساس هستند. برای همین اگه ریکوئست خالی بزنید 403 برمیگردونه. برای حل این مشکل باید User-Agent به هدر اضافه کنیم تا مارو یه خرده آدم تر بشناسه و جوابمون رو بده!😐
خب دیگه کار تقریبا تمومه و یه گرافیک خیلی ساده درست کنیم (من با پایتون گرافیک خاصی درست نکردم تا الان برای همین همینجوری ساده میشن) و کار و تحویل احمد گشنه میدیم.🥸📿
خروجی کاملا ساده یه دکمه میزنی برات ارزون ترین غذا (کاسیب دوغوران) تو ترکی یعنی فقیر را سیر کننده، برات پیدا میکنه سریع فل فووور. پایین رو نگاه بنما:🥸👍
خب این غذا رو برامون پیدا کرد که 60 تومن میشه، از اون 180 تومنی ها ارزون تره!🥸 پس منطقا کد درست کار میکنه. حالا اینجا باز کار های دیگه میتونیم انجام بدیم که نمیکنیم. که عکس و اطلاعات تمام غذا رو از ارزون به گرون لیست کنیم نشون بدیم و احمد جون یکی رو دلخواه انتخاب کنه. یا یه آلارم بزاریم هر وقت غذای مورد علاقه احمد گشنه رفت تو فود پارتی، سریع به این اعلام کنه که بره بخره.📿😐
دکمه (سفارش بده ساقی) رو میزنی و راهی سایت میشی و از اونجا این غذا رو سفارش میدی و تموم.🔥
مرحله با موفقیت پشت سر گذاشته شد و شر احمد از سر ما کنده شد.🤗
قسمت سوم: سورس کد که عکس بی کیفیته!
عکس ها میدونم خیلی بی کیفیت میشه مخصوصا عکس های من که خیلی درازه!😐 در زمان مناسب همه اینها به کد تبدیل میشه و لینک gist به صورت مستقیم نشون داده میشه که خیلی خوشگله
سورس کد رو بعدا دیباگ و زیبا تر میکنم و تو github و gist قرار میدم :)
🎥پیام بازرگانی: فست فود میشه کبد چرب، کبد چرب قاتل بی صدا ...
مطلبی دیگر از این انتشارات
اولین پست ویرگول چی بود و مال کی بود؟
مطلبی دیگر از این انتشارات
کی منو فالو بک نکرده توی ویرگول؟
مطلبی دیگر از این انتشارات
فایل های pdf رو زیر یه ثانیه باهم ادغام کن!