آشنایی با مفهوم Screen Scraping


اکنون قصد داریم فرض کنیم که اصلاً چیزی به عنوان API وجود خارجی نداشت. در چنین شرایطی توسعه دهندگان چگونه می توانستند از داده‌های سایر سایت‌ها یا سرویس ها استفاده کنند؟ در پاسخ به چنین سؤالی بایستی گفت که توسعه دهندگان می بایست فرایندهایی توسعه دهند تا به جستجوی وب سایت مد نظر پرداخته، داده‌ها را کپی کرده و برای استفاده در آینده در فضای خاصی ذخیره سازند. به این روش جمع آوری اطلاعات در دنیای برنامه نویسی Screen Scraping یا Web Scraping گفته می شود.

از جمله مزایای Screen Scraping نسبت به دریافت اطلاعات از طریق API می‌توان به این نکته اشاره کرد که API ها معمولاً محدودیت‌هایی را در نحوه ی استفاده از سرویس ها اعمال می‌کنند اما این در حالی است که در روش دوم، توسعه‌دهنده با هیچ گونه محدودیت خاصی رو به رو نخواهد بود (البته همیشه استثناء هایی وجود دارد!)

با این حال، Screen Scraping نقاط ضعفی هم دارا است. به طور مثال، فرض کنیم که می‌خواهیم از سایت الف که آمار طلا و سکه را به صورت لحظه‌ای در اختیار کاربران قرار می‌دهد، داده استخراج کرده و در سایت ب نمایش دهیم. در چنین صورتی، می بایست مکان دقیق قرار گیری نرخ طلا و سکه را مشخص کنیم. مثلا، در صفحه ی اصلی سایت الف، در پاراگراف دوم، خط سوم و واژه ی چهارم قیمت سکه ی تمام بهار آزادی چاپ شده است. کدهایی که ما در سایت ب نوشته‌ایم تا اقدام به Screen Scraping کنند، دقیقاً به سراغ آن مکان رفته تا قیمت را استخراج کنند اما متأسفانه سایت الف در ساختار سایت تغییراتی ایجاد کرده و محل قرارگیری نرخ طلا و سکه را تغییر داده و این بار قیمت ها در پاراگراف سوم هستند. حال از این پس هر داده‌ای که ما استخراج کنیم اشتباه خواهد بود و این یک فاجعه است! علاوه بر این، بسیاری از سایت‌ها هستند -مثل سکان آکادمی- که به هیچ وجه اجازه ی استخراج داده‌ها را به سایر توسعه دهنندگان نمی‌دهند و در صورت نقض قوانین سایت، سایت دیگر می بایست پاسخگوی نقض قوانین سایت باشد.

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
danyal
danyal
تفاوت crawler و scraper رو ميخواستم بدونم
محسن
محسن
یکی از راهکار هایی که برای نمایش قسمتی از یک سایت دیگه در سایت خودمون می تونیم استفاده کنیم،
استفاده از تگ iframe هست، این تگ با اتربیوت src فعال می شه و باید URL سایت مورد نظرمون رو به عنوان مقدار src بنویسم
با استفاده از css میشه iframe رو تا حد زیادی تنظیم کرد و نتیجه دلخواه رو گرفت
اما اگر سایت مقصد قطع بشه یا کوچکترین تغییری در محل قرار گیری آیتم مورد نظر ما انجام بده، صفحات ما هم به هم می ریزه
iframe در مباحث SEO هم جزو نکات منفی به حساب میاد

برای آشنایی بیشتر با این تگ لینک زیر رو پیشنهاد می کنم
https://www.w3schools.com/tags/tag_iframe.asp
Insight
Insight
یکی از معایب استفاده از Web Scraping نقض قانون کپی‌رایته. تنها در صورتیکه یک منبع ذکر کنه که استفاده از این محتوا اشکالی نداره، میشه از اطلاعات در جای دیگری استفاده کرد در غیر اینصورت کار غیراخلاقی انجام شده و امکان بروز مشکلات قضایی هم وجود داره.
اما در بعضی جاها بالاجبار باید از این روش استفاده کرد چون یا API ای برای صحبت کردن با نرم‌افزار مدنظر وجود نداره و یا مشکلاتی در اون API هست.
کاربر میهمان
امینمن یک کاربر مهمان هستم
پرفکت
علی
علی
فکر نکنم مظور اون استاد استفاده از این تکنیک بوده باشه بله اون از یک روش آماری استفاده کرده
شاید هم من دارم اشتباه می کنم
امیر
امیر
سلام ... حدودا 2 هفته قبل در یک سمینار آموزشی بودم یکی ار اساتید میگفت که با استخراج داده از سایت بازار(مخصوص دانلود برنامه های تحت موبایل ) میزان فروش تقریبی محصولات سایتش رو استخراج کرده است ... فکر کنم با توضیحاتی که الان خوندم با همین روش دوم یعنی screen scraping این کار رو کرده است ...