سلام خوبین امیدوارم هرجا هستید خوب باشید

هفته گذشته یکی از کارفرماهایی داشتم که براش پروژه فروشگاهی طراحی کرده بودم تماس گرفت گفت من یک پنل میخوام برای مانیتورینگ داده ها بقیه رقبا از نظر قیمت و فروش و... من اول فکر کردم چون همشون از سایت مخصوصی api دریافت کرده بودن برای همین با همون سایت صحبت کنم شاید api داشته باشه که بشه تحیلیل کرد برای همین با گروه برنامه نویس انها صحبت کردم که موفق یه پیشبرد پروژه نشد و رو اوردم به Web Scraping
در مرحله اول از اونجایی طرفدار php هستم گفتم با php میزنم ولی خب سرعتش خیلییی داغون بود برای همین قرار شد این کار با node js انجام بدم :)
پس از تحقیقایی که کردم، به این نتیجه رسیدم که Node.js انتخاب خیلی بهتری برای وب اسکرپینگه، مخصوصاً وقتی قراره کلی درخواست به سایتای مختلف ارسال بشه و سرعت برامون مهمه.
اولین چیزی که بهش برخوردم این بود که برای اسکرپ کردن سایتها، یه سری ابزار لازم دارم که کارمو راحت کنن. اینجا بود که با Puppeteer و Cheerio آشنا شدم. Puppeteer که واقعاً بینظیره، چون یه مرورگر کروم رو پشت صحنه بالا میاره و میتونم مثل یه کاربر واقعی با سایت تعامل داشته باشم، کلیک کنم، لاگین کنم، دیتا بخونم و خلاصه هرکاری بخوام انجام بدم. Cheerio هم برای پردازش HTML خیلی سبکه و برای جاهایی که نیازی به اجرای جاوا اسکریپت نیست، گزینهی عالیایه.
بعد از انتخاب ابزارا، تست اولیه رو شروع کردم. یه سری مشکلات داشتم، مثلاً بعضی سایتا کپچا داشتن یا درخواستهای زیاد رو بلاک میکردن. اینجا بود که مجبور شدم از پراکسی و تغییر User-Agent استفاده کنم که این محدودیتا رو دور بزنم.
حالا که پروژه داره خوب پیش میره، به این نتیجه رسیدم که وب اسکرپینگ فقط یه روش ساده برای جمعآوری اطلاعات نیست، بلکه یه جور هنر و بازیه که باید همیشه یه قدم جلوتر از سایتایی باشی که میخوان جلوتو بگیرن! 😁
نظرات کاربران

sajad sajad
saalm mn amirrezam

sajad sajad
salam mn mohamas=d amam