امنیتبرنامه نویسیپایتونتست نفوذ

وب اسکرپینگ (Web scraping) چیست؟ و چه کاربردهایی دارد؟

وب اسکرپینگ (Web scraping) چیست؟

وب اسکرپینگ به فرایند استفاده از ربات ها برای استخراج محتوا و داده ها از یک وب سایت می گویند. عمل وب اسکرپینگ علاوه برمحتوا می تواند عناصر کدهای HTML را نیز استخراج کند و هر کجا که لازم باشد آن اطلاعات را منتشر کند.

Web scraping در بسیاری از کسب و کارهای دیجیتال استفاده می شود تا در اولین فرصت به داده های جدید منتشر شده برسند. از جمله موارد استفاده قانونی از وب اسکرپیینگ به صورت زیر میباشد:

  • ربات های موتور جستجو برای خیزش در سایت که برای تجزیه و تحلیل و سپس رتبه بندی سایت مورد استفاده قرار می گیرد.
  • وب سایت های فروشگاهی که از ربات ها برای تنظیم قیمت محصولات خود به موازی قیمت دیگر فروشگاه ها استفاده می کنند.
  • شرکت های تحقیقاتی برای جمع آوری اطلاعات از انجمن ها و رسانه های اجتماعی.

کاربرد وب اسکرپی برای مقاصد غیرقانونی نیز می تواند شامل سرقت محتوای محرمانه باشد. یک سازمان آنلاین که مورد هدف ربات های وب اسکرپ قرار می گیرد، می تواند زیان های مالی ببیند، به ویژه اگر این سازمان برای کسب و کار باشد که به شدت وابسته به مدل های قیمت گذاری رقابتی یا معاملات در توزیع محتوا است.

ابزارها و ربات های وب اسکرپینگ

ابزار های وب اسکرپی برنامه ریزی شده اند تا از طریق پایگاه داده های سطح  وب، اطلاعات استخراج کنند. در این ابزارها انواع مختلفی از ربات ها به کار برده شده است که میتوان هر کدام از آن ها را برای انجام کاری تنظیم کرد. به عنوان مثال:

  • شناسایی HTML منحصر به فرد یک سایت
  • استخراج و تبدیل محتوا
  • ذخیره اطلاعات استخراج شده
  • استخراج داده ها از طریق API ها

از آنجایی که همه ربات های وب اسکرپ اهداف مشابهی دارند(دسترسی به اطلاعات سایت ها) پس باید تفاوت هایی بین ربات های مخرب و قانونی وجود داشته باشد. ربات های قانونی از طریق سازمان ها خود را معرفی می کنند. به عنوان مثال، Google bot خود را در هدر HTTP وب سایت سازمان به عنوان یک ربات قانونی جای میدهد تا بتواند محتوای وب سایت را در موتور جستجوی گوگل ایندکس کند. اما ربات های مضر، برعکس، با ایجاد یک عامل کاربر دروغین HTTP، ترافیک مشروع را جعل می کنند.

ربات های قانونی از یک فایل robot.txt در هاستینگ وب سایت استفاده می کنند که شامل صفحاتی است که ربات مجاز به دسترسی به آن ها می باشد. اما از سوی دیگر، ربات های مخرب، بدون در نظر گرفتن آنچه که ادمین سایت اجازه داده است، خزیدن در سایت را انجام می دهند.

وب اسکرپینگ (Web scraping) چیست؟

نمونه هایی از web scraping که از اهمیت زیادی برخوردار است عبارتند از استخراج قیمت ها و سرقت محتوا

برای استخراج قیمت ها، از یک botnet استفاده میشود که ربات هایی را برای بازرسی پایگاه های کسب و کار رقیبان خود دارد. هدف نهایی این است که به قیمت گذاری های رقیبان خود دسترسی پیدا کند و با تحت فشار قرار دادن رقبای خود، فروش خود را افزایش دهد.

در سرقت محتوا نیز اهداف زیادی وجود دارد برای مثال استخراج کاتالوگ های محصول و … که میتواند برای سازمان ها و شرکت ها ویرانگر باشد.

محافظت از وب سایت ها در برابر web scraping

به دلیل استفاده از الگوریتم های جدید در ربات های وب اسکرپی، اکثر مکانیزم های امنیتی قادر به شناسایی آن ها نیستند. برای مثال ربات های مربوط به مرورگر، بی سرو صدا و مانند یک شخص حقیقی کارهای خود را انجام میدهند. برای شناسایی ربات ها باید تمامی ترافیک ورودی و خروجی تجزیه و تحلیل شود. این تضمین می کند که تمام ترافیک ورودی و خروجی سایت شما، انسان است یا ربات. برای بررسی ترافیک عوامل زیر موثر میباشند:

HTML fingerprint : روند مشاهده ربات ها از هدرهای HTML آغاز می شود. این می تواند سرنخ هایی را در مورد ربات یا انسان بودن بازدید کننده برای ما بدهد.

IP reputation : جمع آوری اطلاعات از IP تمامی بازدید کنندگان وب سایت ما. از این طریق میتوان IP هایی را که تارخچه خوبی ندارند و قبلا هم از طرق آنها حملاتی را مشاهده کرده ایم را بشناسیم.

Behavior analysis : بررسی الگوهای رفتاری کاربران، مانند میزان درخواست های مشکوک و الگوهای بازدید غیر منطقی که به ما کمک می کند تا ربات ها را شناسایی کنیم.

Progressive challenges : استفاده از مجموعه ای از چالش ها، مانند پشتیبانی از کوکی ها و استفاده از جاوا اسکریپت، برای فیلتر کردن ربات ها. به عنوان آخرین راه حل، یک چالش CAPTCHA می تواند از ربات هایی که تلاش می کنند خودشان را به عنوان انسان جا بزنند، جلو گیری کند.

بیشتر بخوانید:

یوسف وفایی

فارغ التحصیل کارشناسی IT، علاقه مند به برنامه نویسی و علم امنیت، عاشق یادگیری حرفه های جدید، کنجکاو برای همه چیز، همچنین همیشه تلاش میکنم تا به هدفم برسم...

‫7 دیدگاه ها

  1. سلام مثلا گوگل که ip هایی که درخواست های زیادی بهش میفرستند رو شناسایی میکنه ، باید از چه نرم افزاری برای تغییر ip استفاده کرد؟آیا اصلا با نرم افزار میشه این کار رو کرد؟

  2. سلام خسته نباشید من میخوام لینوکس یادبگیرم و دوره لینوکس اسنشیال بگذرونم برای شروع اوبونتو نصب کنم یا کالی؟و اگه میشه دلیلشو مختصر بگین خیلی ممنون میشم

    1. سلام و درود
      بستگی داره که کار شما چی باشه؟ معمولا افرادی که امنیت کار هستند میرن سمت کالی لینوکس
      ولی برای یادگیری اولیه من بهتون اوبونتو رو پیشنهاد میکنم. بعد اشنایی با لینوکس میتونید به راحتی از سایر توزیع ها هم استفاده کنید.

      1. ممنون بابت راهنمایی، اموزش نصب لینوکس کناره ویندوز (نه روی ویندوز ) روی یک هارد دارین؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا