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