Web scraping چیست؟ و چه کاربردهایی دارد؟

415

Web scraping چیست؟ و چه کاربردهایی دارد؟

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

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

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

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

ابزارها و ربات های web scraping

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

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

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

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

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

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

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

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

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

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

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

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

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

100%
Awesome
  • Criteria

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

4 نظرات
  1. salivan می گوید

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

    1. یوسف وفایی می گوید

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

      1. salivan می گوید

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

        1. یوسف وفایی می گوید

          میتونید امورش های نصب رو از گوگل پیدا کنید.