معرفی مفهوم Web Scraping
وب اسکرپینگ به استفاده از رباتهای خودکار برای جمعآوری دیتا از یک وبسایت، اشاره دارد. برخلافِ screen scraping که تنها به گردآوری پیکسلها، از یک فایلِ image میپردازد، web scraping، کدهای اصلیِ (Hypertext Markup Language (HTML یک وبسایت و دیتای ذخیره شده در پایگاه دادهها را جمعآوری میکند. کاربران با استفاده از این اطلاعات، میتوانند در صورت تمایل محتوای وبسایت را duplicate کنند.
نحوهی عملکرد web scraping چگونه است؟
همانطور که گفته شد، web scraping یا data scraping، فرایند استخراج اطلاعات از یک وبسایت است.
این فرایند با یک scraper آغاز شده که با استفاده از URL، از صفحهی وب، بازدید نموده و تمام اطلاعات آن صفحه، از جمله کدهای HTML را جمعآوری میکند. وباسکریپرهای پیشرفته، میتوانند المانهای بیشتر مانند JavaScript و Cascading Style Sheets (CSS) را نیز گردآوری کنند.
میتوان طوری برنامهریزی کرد که تمام دیتای سایت یا فقط آنچه کاربر در نظر دارد، استخراج شود. در اکثر موارد، تمرکز بر روی دادههای خاص مانند اطلاعات قیمتگذاری بر اساس اهداف تجاری است.
آخرین مرحلهی این فرایند، شامل ارائهی خروجی توسط web scraper در قالبی است که برای کاربر، مفید و کاربردی باشد؛ که ممکن است در قالب یک فایل CSV باشد و یا یک فایل Excel. البته برخی از web scraperهای پیشرفته، میتوانند به فرمتهای دیگر، مانند JSON، خروجی دهند. چنین فرمتهایی با APIها سازگار بوده امکان ادغام یکپارچه با سایر اپلیکیشنها را نیز فراهم میکنند.
با اینکه web scraping، بسیار سودمند بوده و کاربردهای مختلفی دارد؛ اما متاسفانه، توسط مجرمان سایبری نیز، مورد استفاده، قرار میگیرد. حتی اگر به وضوح، قوانین سایبری، زیرپا گذاشته نشود، اما با بارگذاری بیش از حد سرور و یا دسترسی غیر مجاز به دادهها، برای کسب و کارها، زیانآور خواهد بود. بنابراین به سازمانها توصیه میشود نسبت به خطرات آن، آگاه بوده و اقدامات امنیتی را لحاظ کنند.
Web scraperها، ابزار قدرتمندی برای جمعآوری دیتا، محسوب میشوند، اما در عین حال ممکن است توسط افراد و یا سازمانها با اهداف مخرب، مورد استفاده قرار گیرند. قطعا آگاهی از این تهدیدات، به سازمانها کمک میکند که ایمن مانده و درک کنند چگونه رقبا میتوانند از scraping برای به دست آوردن مزایای رقابتی استفاده کنند.
انواع scraping
Price Scraping
شامل به کارگیریِ ربات، برای استخراج اطلاعات مربوط به لیست قیمتهای رقبا میگردد. با جمعآوری این دسته از دادهها، میتوان به سادگی رقبا را از عرصه ی فروش، خارج کرد.
به عنوان مثال، فردی برای خرید یک لپتاپ جدید، در سایتهای مختلف، آن را جستجو میکند. اگر یکی از سایتها از web scraper، استفاده کند، میتواند قیمتی پایینتر از رقبای خود، اعلام نموده و فروش را به دست آورد.
علاوه بر این price scraping، میتواند در مقایسهی قیمت محصولات، به نفع افراد سودجو باشد. به عبارتی اگر یک سایت، محصولات را بر اساس قیمت، از پایینترین به بالاترین، مرتب کند؛ یک تامین کنندهی سودجو، میتواند پس از scrape کردنِ اطلاعات مربوط به قیمتها، رقابت را به نفع خود، تغییر داده و محصولات آن، به طور خودکار در بالای صفحه ظاهر شود.
Content Scraping
شامل سرقت محتوای یک وبسایت یا پایگاه دادهها است. سپس این دیتا را میتوان به طرق مختلف مورد استفاده قرار داد. به عنوان مثال، ممکن است یک وبسایت جعلی با محتوای مشابه سایت اصلی توسط مهاجمان سایبری، ایجاد شده و به این ترتیب، تشخیص سایت واقعی از جعلی برای قربانی، بسیار دشوار باشد.
سپس مهاجمان، اقدام به ارسال ایمیل فیشینگ به همراه لینکی به سایت جعلی، نموده و قربانی را فریب داده تا دیتای مهمی مانند اطلاعات کاربری و یا کارتهای اعتباری را وارد کند.
Content scraping یک تهدید جدی برای سازمانهایی است که زمان و هزینهی فراوانی، صرف ایجاد محتوای منحصر به فرد نمودهاند تا نسبت به رقبای خود، جلوتر باشند. این محتوا ممکن است شامل marketing material، تصاویر، مقالات، لیست محصولات و لیست قیمت باشد. یک web scraper میتواند از دیتایی که به صورت غیر مجاز به دست آورده، یک کمپین spamming، اجرا کند و به برندینگ سازمان مورد نظر، خدشه وارد کند.
ابزارها و رباتهای scraper
به طور معمول، هکرها از ابزارها و باتهای scraper به منظورِ دستیابی به اطلاعات دقیق و جزیی از قربانیان خود، استفاده میکنند.
وبسایتها دارای بخشهای مختلف، مانند پایگاه دادهها هستند که اطلاعات بسیار مهمی را ذخیره می کنند. این دادهها ممکن است اطلاعات مربوط به کاربران، جزئیات محصول، سوابق مالی و موارد دیگر باشد.
از طرفی رباتهای web scraper که برای استخراج خودکار اطلاعات خاص از وبسایتها برنامهریزی شدهاند، برای دستیابی به اطلاعات دیتابیس، مورد استفاده قرار میگیرند.
به عنوان مثال یک شرکت کرایه دهندهی خودرو، ممکن است هکری را استخدام کند تا با استفاده از ربات، به بازدید از وبسایتهای رقبای خود بپردازد. این ربات ابتدا مانند یک مشتری معمولی عمل نموده که در یک شهر خاص، به دنبالِ اجارهی خودرو است. سپس گزینههای مختلف را امتحان نموده و پارامترها را تغییر میدهد تا اطلاعات گسترده ای نسبت به قیمتها و ساختارِ قیمتگذاری آنها به دست آورد.
این ربات، حالتهای مختلف اجارهی خودرو را انتخاب نموده و قیمت آنها را به دست میآورد. این نوع ابزارِ scraper را میتوان را بر اساس جستجوی معاملات بر اساس شرایط خاص نیز برنامهریزی کرد. به عنوان مثال میتوان از این ابزار، درخواست کرد تا تخفیفهای اعمال شده، به واسطهی عواملی مانند مدت زمان اجاره، مکان اجاره، زمان تحویل و نوع خودرو را نیز نشان دهد.
انواع مختلف web scraper
انواع مختلفی از web scraper وجود دارند، اما عملکرد اصلیِ آنها بر اساس یکی از لیبلهای self-built، prebuilt، browser extensions، software، user interface، cloud و local دستهبندی میشوند.
Self-built Scrapers
تقریبا هرکسی میتواند با دانش برنامهنویسی، web scraper مخصوص به خود را ایجاد کند. میزان دانش برنامهنویسیِ مورد نیاز، بستگی به تعداد عملکردهایی دارد که از یک web scraper انتظار میرود. بنابراین با کسبِ دانش مربوطه و با استفاده از یک زبان برنامهنویسیِ محبوب مانند Python، میتوان یک web scraper ایجاد نمود.
از سوی دیگر، میتوان به سادگی و تنها با دانلود کردن، scraperهای pre-built را نیز در اختیار داشت. برخی از این pre-built scraperها دارای فیچرهای پیشرفته مانند گرفتن خروجی در فرمت انتخابی مانند Google Sheet یا فایلهای JSON هستند.
Browser Extension and Software
Web scraperهای browser extension، قابلیت اضافه شدن به مرورگرهایی مانند Firefox با Chrome را دارند. با اینکه، ابزارهایی بسیار مفید و سودمند هستند؛ اما به این دلیل که بر روی مرورگر، نصب شدهاند، محدودیتهایی درعملکرد دارند. ممکن است از برخی فعالیتهای پیشرفتهتر که نیاز به پردازش یا منابع خارجی دارند، پشتیبانی نکنند.
اما نرمافزار web scraping را میتوان مستقیما بر روی سیستم، نصب کرد. قطعا کار کردن با این نرمافزارها، به سادگیِ ابزارهای مبتنی بر مرورگر نیست، اما انعطافپذیری و عملکرد بیشتر و همینطور قابلیتهای پیشرفتهتری ا ارائه میدهند.
User Interface
Scraperهای user interface تنوع بالایی دارند. برخی از آنها، تنها دارای یک user interface ابتدایی به همراه command lineهای ساده هستند؛ ولی این سادگی میتواند درک نحوه عملکرد ابزار را دشوار کند.
در مقابل، سایر scraperها، user interfaceهای دقیقتری را ارائه میدهند. به عنوان مثال، یک کاربر میتواند دقیقا آنچه که از یک وبسایت میخواهد را به جای تایپ کردنِ command، با کلیک بر روی آن، انتخاب کند. این روش برای افرادی که به دنبال راههای بصری و گرافیکی هستند، مناسبتر است.
برخی scraperها، با امکانات پیشرفتهای که دارند، باز هم فراتر رفته و پیشنهادات و نکاتی ارائه میدهند که کاربران را در جهت درست، راهنمایی نموده و عملکرد scraper را توضیح میدهند.
رایجترین موارد استفاده از web scraper
Price Intelligence
یکی از رایجترین موارد استفاده از web scraping است که شامل جمعآوریِ قیمت محصولات از سایتهای مختلف است. پس از اینکه، دیتای مربوطه، جمعآوری شد، یک خروجی برای شرکتی که از سرویس scraping استفاده میکند، ارسال میگردد. از این دادهها برای تنظیم استراتژیهای قیمتگذاری استفاده میشود.
Market Research
تحقیقات بازار شامل شناخت فرصتها و پویایی آن است. با web scraping میتوان دیتایی را جمعآوری نمود که برای شناخت کلی بازار مربوطه، دامنه و ماهیت آن و همچنین فرمول تغییرات ایجاد شده در طول زمان با توجه به عوامل اقتصادی به کار میرود.
به عنوان مثال میتوان با استفاده از web scraping، روند بازار را با ردیابی پیشنهاد محصولات و تغییرات قیمت در طول زمان به سادگی، تجزیه و تحلیل کرد.
مضاف بر این، میتوان برای انجام تحقیق و توسعه نیز آن را به کار برد. با استفاده از دیتای جمعآوری شده، میتوان محصولات و خدمات مطلوبتری را پیشنهاد داد تا نیازهای بازار هدف را با لحاظ مزایای رقابتی پاسخ داد.
Alternative Data for Finance
Web scraping، امکانات متعددی را برای دسترسی به دادههای مالی از منابع مختلف، در دنیای اینترنت، باز میکند. این انبوه اطلاعات، تصمیمگیری آگاهانه را میسر نموده و اطلاعات ارزشمندی در مورد روند بازار، ارائه میدهد.
به عنوان مثال، میتوان دادههای مورد نیاز را از کمیسیون بورس و اوراق بهادار (SEC) جمعآوری نمود تا به طور صحیح به ارزیابی شرکتهای مختلف پرداخت.
Web scraping، امکانِ مقایسهی کسب و کارها در بخشهای مختلف که تحت تاثیر عواملی مانند آب و هوا یا قیمت کالاها قرار دارند، را میسر میکند. دادههای جمعآوریشده را میتوان سازماندهی نمود و در نمودارهای DFD به نمایش گذاشت. این نمودارهای گرافیکی، درک روابط و پویایی علت و معلول که بر مدل کسب و کار تاثیر میگذارد را تسهیل میکند.
News and Content Marketing
امروزه با وجود رسانههای خبری فراوان، حجم وسیعی از اطلاعات تولید میشوند. Web scraping میتواند به بررسی انواع خاصی از رویدادهای خبری، پرداخته و تنها بر روی مواردی، تمرکز داشته باشد که احتمالِ تاثیرگذاریِ آن، بر روی کسب و کار شما، بیشتر است.
به عنوان مثال، اگر به بازار مالی، علاقه دارید، میتوانید محتوای مربوطه را، scrape کنید. سپس همه اطلاعات را جمعآوری نموده و محتوا را طوری بر اساس کلمات کلیدی، تجزیه و تحلیل کنید که آن را برای کسب و کار شما، کاربردیتر نماید.
Brand Monitoring
یکی دیگر از کاربردهای web scraping، حفاظت از برندینگ سازمان شما، با نظارت بر اخبار منفی و گزارشات جعلی است. با نظارت و بررسی محتوای مخرب، میتوان به سرعت به مشکلات مربوطه، رسیدگی نمود و اثرات منفی بر روی برندینگ را از بین برد. این رویکرد پیشگیرانه، به شما امکان میدهد درک صحیحی از محصولات و یا خدمات خود داشته باشید.
Business Automation
احتمالا کسب و کار شما، حجم وسیعی دیتا، تولید نموده که جمعآوری آنها در یک منبع متمرکز و مدیریت آنها دشوار خواهد بود. این در حالی است که با استفاده از scraper، میتوان دادههای مورد نیاز را به طور صحیح، جمعآوری نموده و حتی بر روی پروژههای خاص، تمرکز کرد.
مضاف بر این، web scraping میتواند نقش مهمی در اتوماسیون کسب و کار داشته و فرصتهایی را برای افزایش بهرهوری ایجاد کند. جمعآوری دیتا از فصلهای موفق و پرفروش، یکی از این مثالها است. سپس میتوان اطلاعات این دوره را مورد تجزیه و تحلیل قرار داد؛ مانند تعداد فروش، میانگین مبلغ هر فروش و همینطور محصولی که به فروش رفته است. در نهایت از این دیتا میتوان برای تقویت و بهبود استراتژی فروش استفاده کرد.
در ضمن چنانچه سازمانی تمایل داشته باشد، المانهای قیف فروش خود را به صورت خودکار درآورد، میتواند با استفاده از یک scraper، فاکتورهای کلیدی مرتبط را از پایگاه دادهها بر اساس معیارهای خاص، استخراج کند.
نقش فورتینت در web scraping
فایروال WAF فورتینت یا همان FortiWeb، دارای ruleهای از پیشتعریف شدهای است که میتواند web scraperهای مخرب را شناسایی کند. این ruleها بخشی از سیستم آنالیزِ رباتهای مخرب هستند. FortiWeb به طور سیستماتیک به تجزیه و تحلیلِ درخواستهای وارده به web applicationها پرداخته و به سرعت نوع مخرب را شناسایی و مسدود میکند.
یکی از نکات کلیدی در خصوص FortiWeb این است که بین scraperهای مخرب و سودمند، تمایز قائل شده و امکان ایندکس شدن توسط موتورهای جستجو را به سایت شما میدهد. به این ترتیب، صفحهی سایت بدون اینکه در معرض تهدیداتِ scraping قرار گیرد، رتبهی خود را به دست میآورد.
علاوه بر موارد فوق، سیستم شما با استفاده از راهکارهای FortiGuard Web Filtering، در مقابل انواع حملات مبتنی بر وب، از جمله حملاتِ طراحی شده برای نفوذ با بدافزارِ scraper، محافظت میگردد. به طور خلاصه باید گفت سازمانها با بهرهمندی از خدمات FortiGuard، به دقت تحت filtering قرار گرفته و به طور خودکار، جدیدترین اطلاعات مبتنی بر تهدیدات را دریافت میکند. ضمن اینکه میتوان انتخاب نمود آیا بهروزرسانیها بهطور خودکار به سیستم شما ارسال شوند یا خیر.
معرفی محصول : fortigate firewall 60F