تفاوت web scraping و web crawling چیست؟
در این مقاله، ما به تفاوتهای بین web scraping و web crawling و نحوه ارتباط آنها با یکدیگر خواهیم پرداخت. همچنین برخی از موارد استفاده را برای هر دو رویکرد و ابزارهایی که می توانید استفاده کنید، پوشش خواهیم داد.
دوره پیشنهادی: دوره آموزش web scraping در پایتون
# وب اسکرپینگ چیست؟
به طور ساده وب اسکرپینگ به استخراج داده ها از یک وب سایت توسط ربات گفته میشود که پس از استخراج داده های مرتبط جمع آوری و به فرمت دیگری ذخیره می شوند. برخی از کاربران اطلاعات جمع آوری شده را در یک صفحه excel یا یک پایگاه داده قرار می دهند.
web scraping همیشه کار ساده ای نیست. توانایی استخراج داده های یک وب سایت به شدت به شکل محتوای آن وب سایت بستگی دارد. اگر صفحات، تصاویر یا فرمت های رندر شده جاوا اسکریپت در سایت وجود داشته باشد، دریافت داده ها از آنها پیچیده تر خواهد بود. چالش دیگر این است که وب سایت ها اغلب به روز می شوند و کد شما خراب می شود.
ربات های خزشگر وب که scraper نیز نامیده میشوند، لیستی از url ها را گرفته و کدهای html آن را بارگیری میکنند. اگر از اسکراپر پیشرفته تری استفاده بنویسید، کل وبسایت شامل CSS و جاوا اسکریپت را میتوانید دریافت کنید.
مقاله پیشنهادی: کرم کامپیوتری چیست؟
# وب کراولینگ چیست؟
وب کراولینگ به فرآیند دریافت اطلاعات از سراسر وب گفته میشود. وب کراولینگ برخلاف وب اسکرپینگ محدود به یک صفحه نشده و میتواند بین لینک ها پیمایش کند. این روشی است که موتور جستجو مانند گوگل کار می کنند. آنها از یک ربات خزنده وب برای دنبال کردن لینک ها و مرتب کردن اطلاعات استفاده می کنند.
web crawling نیاز به یک نقطه شروع اولیه دارند که معمولاً لینکی به یک صفحه وب سایتی خاص است. هنگامی که لینک اولیه را گرفت، شروع به پیمایش در سایر لینک های آن صفحه می کند. web scraping را می توان به صورت دستی با مرور همه لینک ها در چندین وب سایت و یادداشت برداری درباره صفحاتی که حاوی اطلاعات مرتبط با جستجوی شما هستند انجام داد اما استفاده از یک ابزار خودکار برای انجام این کار رایج تر است.
مقاله پیشنهادی: TCP/IP چیست؟
# تفاوت وب کراولینگ و وب اسکرپینگ چیست؟
افراد معمولا از نام این دو تکنیک به جای یکدیگر استفاده میکنند اما تفاوت مهمی بین وب کراولینگ و وب اسکرپینگ وجود دارد.
web scraping به استخراج داده ها از یک یا چند وبسایت گفته میشود در حالی که web crawling به پیمایش بین لینک ها و کشف صفحات جدید گفته میشود.
معمولاً در پروژه های استخراج داده های وب، باید scraper و crawler را با هم ترکیب کنید. بنابراین ابتدا با crawler در URL ها پیمایش کرده و فایل های آن را دانلود کرده و سپس با scraper داده ها را از آن فایل ها استخراج میکنید. دقت کنید که crawler ها به هیچ وجه وظیفه استخراج اطلاعات از صفحات وب را ندارند و فقط مسئول پیمایش بین لینک ها هستند. استخراج اطلاعات فقط وظیفه scraper ها است.
اگر بخواهیم عمیق تر بررسی کنیم تفاوت بزرگ دیگری بین scraper و crawler وجود دارد.
در وب اسکرپینگ، همه چیز به داده ها مربوط می شود. در وب اسکرپینگ معمولاً وب سایت های هدف را می شناسید، ممکن است URL صفحه خاصی را ندانید، اما حداقل دامنه را می شناسید.
در وب کراولینگ، احتمالاً URL و دامنه را نمی شناسید. و این دلیلی است که شما بین لینک ها پیمایش میکنید: می خواهید URL ها را پیدا کنید تا بتوانید بعداً با آنها کاری انجام دهید. به عنوان مثال، موتورهای جستجو در وب پیمایش میکنند تا بتوانند صفحات جدید را پیدا کرده و در نتایج جستجو نمایش دهند.
Web Scraping | Web Crawling |
---|---|
وظیفه پیمایش بین لینک ها و پیدا کردن صفحات جدید را ندارد | صفحات جدید را براساس محتوای آنها پیدا کرده و ذخیره میکند |
اطلاعات را از صفحات استخراج میکند | هیچ داده ای را از صفحاتی که ذخیره کرده استخراج نمیکند |
مقاله پیشنهادی: VPN چیست؟
# جمع بندی
یک دلیل بزرگ برای سردرگمی بین scraper و crawler این است که آنها معمولاً با هم کار میکنند. وقتی یک کسبوکار سعی میکند اطلاعاتی را از وبسایتهای دیگر جمعآوری کند، میخواهد بین صفحات را پیمایش کند و اطلاعات را از محتوای صفحات دیگر نیز استخراج کند.