یه کتابخونهی بزرگ، با میلیونها کتاب و مقاله رو تصور کن. فکر کن که هیچ راهی برای پیدا کردن کتاب مورد نظرت نداشته باشی؛ نه فهرستی، نه کتابدار راهنمایی و نه حتی نشونی از اینکه هر کتاب کجا قرار داره. وحشتناک به نظر میرسه، نه؟ خب، اینترنت در اوایل دهه ۹۰ میلادی دقیقاً همین وضعیت رو داشت. وبسایتها یکی پس از دیگری به وجود میاومدن و پیدا کردن اطلاعات مفید بین اونها کار حضرت فیل بود.
اما یه روز، یه مهندس جوان، با همین مشکل روبرو شد. اون تو کتابخونهی اینترنت گم شده بود و به این فکر افتاد که چطور میتونه این حجم عظیم اطلاعات رو به راحتی پیدا کنه. پیش خودش گفت: "چرا نتونیم یه کتابدار خودکار داشته باشیم که همیشه در دسترس باشه و هر چیزی رو که میخوایم، برامون پیدا کنه؟"
اینجا بود که این مهندس جوان اولین نسخه از یه برنامه به نام Web Crawler یا خزنده وب رو ساخت. این برنامه مثل یه کتابدار روباتیک، شروع به گشتن توی اینترنت کرد، صفحات رو یکی یکی پیدا کرد، خوند و اطلاعات مهم و مفید رو استخراج کرد. اینجوری، وقتی کسی دنبال اطلاعات میگشت، Web Crawler بهش کمک میکرد تا سریعتر به هدفش برسه.
حالا تصور کن اگه این کتابدار روباتیک نبود، چقدر کارها سختتر و زمانبرتر میشد. هر بار که میخواستی یه مطلب پیدا کنی، باید ساعتها وقت صرف میکردی و شاید اصلاً به نتیجه نمیرسیدی. اینجوری، Web Crawlerها به یه نجاتبخش تبدیل شدن که دسترسی به اطلاعات رو برای همه آسونتر کردن.
Web Crawler که بهش عنکبوت وب (spider) یا ربات موتور جستجو هم میگن، یه برنامهست که محتواهای مختلف از سرتاسر اینترنت رو دانلود و ایندکس میکنه. هدف این رباتها اینه که بفهمن هر صفحهای تو اینترنت درباره چی صحبت میکنه، تا وقتی که نیاز داریم، اطلاعات مورد نظر رو بهمون نشون بدن. بهشون "Web Crawler" یا "خزنده وب" میگن چون "Crawling" یا "خزیدن" یه اصطلاح فنیه برای دسترسی خودکار به سایتها و جمعآوری دادهها توسط یه برنامه نرمافزاری.
این رباتها معمولاً توسط موتورهای جستجو اداره میشن. با استفاده از الگوریتمهای جستجو روی دادههایی که Web Crawlerها جمعآوری میکنن، موتورهای جستجو میتونن لینکهای مرتبط رو در پاسخ به جستجوی کاربران ارائه بدن. این همون چیزیه که وقتی چیزی رو تو گوگل یا بینگ (یا هر موتور جستجوی دیگه) تایپ میکنی و لیست نتایج نمایش داده میشه، اتفاق میافته.
Web Crawler شبیه کسیه که تو یه کتابخونه به هم ریخته میگرده و یه فهرست کارت درست میکنه تا هر کسی که به کتابخونه میاد، بتونه سریع و راحت اطلاعات مورد نیازش رو پیدا کنه. برای اینکه بتونه کتابها رو بر اساس موضوع دستهبندی کنه، عنوان، خلاصه و قسمتی از متن داخلی هر کتاب رو میخونه تا بفهمه هر کتاب درباره چیه. ولی بر خلاف یه کتابخونه، اینترنت شامل کتابهای فیزیکی نیست و این کار رو سختتر میکنه که بفهمیم آیا همه اطلاعات لازم به درستی ایندکس شده یا نه.
برای اینکه بتونه همه اطلاعات مرتبط رو پیدا کنه، Web Crawler با یه مجموعهای از صفحات وب شناخته شده شروع میکنه و بعد از لینکهای موجود تو اون صفحات به صفحات دیگه میره، از لینکهای اون صفحات به صفحات دیگه، و همینطور ادامه میده.
هیچکس دقیقاً نمیدونه چه مقدار از اینترنت عمومی توسط رباتهای موتور جستجو خزش میشه. بعضی منابع تخمین میزنن که فقط ۴۰ تا ۷۰ درصد اینترنت برای جستجو ایندکس شده، و این یعنی میلیاردها صفحه وب!
اولین Web Crawler در سال 1993 توسط متیو گری، یه دانشجوی دانشگاه MIT، توسعه یافت و به اون "World Wide Web Wanderer" میگفتن. این ابزار برای اندازهگیری اندازهی وب طراحی شده بود. تو همون سال، یه وبکِراولر دیگه به نام "RBSE Spider" هم توسط دانشمندان دانشگاه استنفورد توسعه یافت که برای اهداف تحقیقاتی استفاده میشد.
در سال 1994، یه وبکِراولر تجاری به نام "WebCrawler" توسط برایان پینکرتون از دانشگاه واشنگتن ساخته شد که اولین موتور جستجوی تمام متن اینترنتی بود. این Web Crawler به کاربران امکان میداد تا در میان محتوای صفحات وب جستجو کنن، نه فقط عناوین اونا.
اینترنت همیشه در حال تغییر و گسترشه. چون تعداد صفحات وب در اینترنت غیرقابل شمارشه، Web Crawlerها کارشون رو از یه نقطه شروع میکنن، یعنی یه لیست از URLهای شناخته شده. اول از این صفحات شروع به خزیدن میکنن. وقتی این صفحات رو بررسی میکنن، لینکهای دیگهای رو پیدا میکنن و اونا رو به لیست صفحاتی که باید بعداً بخزن، اضافه میکنن.
با توجه به تعداد بسیار زیادی از صفحات وب که میتونن ایندکس بشن، این فرآیند تقریباً میتونه بینهایت بار ادامه پیدا کنه. اما Web Crawlerها یه سری قوانین دارن که بهشون کمک میکنه تا انتخاب کنن کدوم صفحات رو بخزن، به چه ترتیبی این کار رو بکنن و چقدر دوباره به اون صفحات سر بزنن تا ببینن محتوای جدیدی اضافه شده یا نه.
میدونستی گوگل روزانه حدود 20 میلیارد صفحه وب رو میخزه؟ تصور کن چه حجم عظیمی از اطلاعات رو هر روز پردازش میکنه!
بیشتر Web Crawlerها تمام اینترنت رو نمیخزن و اصلاً هدفشون هم این نیست؛ در عوض، اونا تصمیم میگیرن کدوم صفحات رو اول بخزن بر اساس تعداد لینکهای دیگهای که به اون صفحه اشاره میکنن، تعداد بازدیدکنندههایی که اون صفحه داره و عوامل دیگهای که نشون میده اون صفحه احتمالاً اطلاعات مهمی داره.
ایده اینه که صفحهای که توسط صفحات دیگه زیادی بهش اشاره شده و بازدیدکنندههای زیادی داره، احتمالاً حاوی اطلاعات با کیفیت و معتبره، بنابراین مهمه که یه موتور جستجو اون رو ایندکس کنه، درست مثل اینکه یه کتابخونهدار مطمئن بشه از کتابی که خیلیها قرض میگیرن، نسخههای زیادی داشته باشه.
محتوای وب به طور مداوم بهروزرسانی، حذف یا به مکانهای جدید منتقل میشه. Web Crawlerها باید دورهای به صفحات سر بزنن تا مطمئن بشن آخرین نسخه از محتوای صفحات رو ایندکس کردن.
Web Crawlerها قبل از خزیدن تو یه صفحه، فایل robots.txt اون سایت رو بررسی میکنن. فایل robots.txt یه فایل متنیه که قوانین دسترسی رباتها به سایت رو مشخص میکنه. این قوانین تعیین میکنه کدوم صفحات رو رباتها میتونن بخزن و کدوم لینکها رو میتونن دنبال کنن. به عنوان مثال، میتونی فایل robots.txt سایت Cloudflare.com رو ببینی.
همه این عوامل توی الگوریتمهای اختصاصی موتورهای جستجو وزن متفاوتی دارن. Web Crawlerهای موتورهای جستجوی مختلف ممکنه کمی متفاوت عمل کنن، اما هدف نهایی همشون یکیه: دانلود و ایندکس کردن محتوای صفحات وب.
تصور کن یه عنکبوت کوچیک روی تار عنکبوت خودش داره میخزه. این عنکبوت از یه نقطه شروع میکنه و به دقت روی تارها حرکت میکنه، تا همه قسمتهای تارش رو بگرده و هر چیزی که بهش برخورد میکنه رو بررسی کنه. حالا این تصویر رو با کاری که Web Crawlerها انجام میدن مقایسه کن.
Web Crawlerها، یا همون "عنکبوتهای وب"، درست مثل این عنکبوتها، از یه نقطه روی شبکهی عظیم وب شروع به خزیدن میکنن. این نقطه میتونه یه لیست از سایتهای شناخته شده باشه. اونا به این سایتها سر میزنن و اطلاعات رو جمع میکنن. بعدش، مثل همون عنکبوت که از یه تار به تار دیگه میره، Web Crawlerها هم لینکهای موجود توی این صفحات رو دنبال میکنن و به صفحات دیگه میرن.
این روند ادامه پیدا میکنه، تا جایی که این عنکبوتهای دیجیتالی تونسته باشن بخش زیادی از وب رو بگردن و اطلاعات رو جمعآوری کنن. به خاطر این روش کار و اینکه این رباتها مثل عنکبوتهای واقعی روی یه شبکه بزرگ حرکت میکنن، بهشون میگن "عنکبوت".
این تشبیه به عنکبوت خیلی جالبه چون هر دوی اونا یه شبکه رو میگردن و بررسی میکنن. همونطور که یه عنکبوت توی تار خودش همه جا رو میگرده تا شکارها یا هر چیز دیگهای رو پیدا کنه، Web Crawlerها هم توی تار اینترنت میخزن تا اطلاعات مفید رو پیدا کنن و برای ما کاربران آماده کنن.
Web Crawlerها کاربردهای متنوعی دارن که در ادامه به برخی از مهمترین اونا اشاره میکنیم:
هر ثانیه که میگذره، گوگل بیش از 40 هزار جستجو رو پردازش میکنه. فکر میکنی چطور این کار رو انجام میده؟ با کمک Web Crawlerها!
چهار نوع اصلی Web Crawler وجود داره:
علاوه بر اینها، چند نوع دیگه از Web Crawlerها هم وجود دارن که هر کدوم برای نیازهای خاصی طراحی شدن:
اکثر موتورهای جستجو از Web Crawlerهای خودشون استفاده میکنن که بر اساس الگوریتمهای خاصی کار میکنن. شرکتها هم ممکنه نرمافزار Web Crawler خودشون رو روی سرورهای محلی یا در فضای ابری راهاندازی کنن. بعضی از معروفترین Web Crawlerها شامل اینها میشن:
این خزندههای وب کمک میکنن که موتورهای جستجو و سرویسهای مختلف اطلاعات دقیق و بهروزی رو برای کاربران فراهم کنن.
Web Crawling و Web Scraping دو تا مفهوم مختلف هستن که شاید به نظر شبیه بیان، ولی تفاوتهای مهمی دارن.
Web Scraping یا همون استخراج دادهها، وقتی رخ میده که یه ربات محتوای یه سایت رو بدون اجازه دانلود میکنه و اغلب قصد داره از اون محتوا برای اهداف غیرقانونی یا بد استفاده کنه.
تفاوتهای کلیدی بین این دو عبارتاند از:
در کل، Web Scraping بیشتر برای اهداف خاص و اغلب نادرست استفاده میشه، در حالی که Web Crawling به دنبال جمعآوری اطلاعات به صورت گسترده و مرتب برای بهبود نتایج جستجو و خدمات اینترنتی هست.
باتهای بد میتونن آسیبهای زیادی بزنن، از جمله ایجاد تجربه کاربری ضعیف، کرش کردن سرورها و سرقت دادهها. اما در مقابله با باتهای بد، باید دقت کنیم که باتهای خوب مثل Web Crawlerها بتونن به وبسایتها دسترسی داشته باشن. مدیریت باتهای Cloudflare این امکان رو میده که باتهای خوب به وبسایتها دسترسی داشته باشن، در حالی که ترافیک باتهای مخرب رو کاهش میده. این محصول یه لیست سفید خودکار از باتهای خوب مثل Web Crawlerها رو حفظ میکنه تا مطمئن بشه اونا بلاک نمیشن. سازمانهای کوچیکتر هم میتونن با استفاده از Super Bot Fight Mode که در پلانهای Pro و Business کلودفلر موجوده، به همین سطح از کنترل و شفافیت بر ترافیک باتها دست پیدا کنن.
وقتی حرف از بهبود رتبهبندی سایتها تو موتورهای جستجو میشه، یکی از مهمترین ابزارهایی که باید در نظر بگیریم Web Crawlerها هستن. این عنکبوتهای دیجیتالی نقش بسیار مهمی در سئو (SEO) دارن. بیاید ببینیم چطور Web Crawlerها میتونن روی سئو تأثیر بذارن و چرا باید بهشون اهمیت بدیم.
بذار برات نحوه کار خزندههای وب رو یادآوری کنم، Web Crawlerها (یا همون خزندههای وب) برنامههایی هستن که توسط موتورهای جستجو مثل گوگل، بینگ و یاهو استفاده میشن. این برنامهها به صورت خودکار صفحات وب رو بررسی میکنن، لینکها رو دنبال میکنن و محتوای صفحات رو برای ایندکس کردن جمعآوری میکنن. به عبارتی، این رباتها اینترنت رو میگردن و اطلاعات رو جمع میکنن تا وقتی کسی تو موتور جستجو چیزی رو سرچ میکنه، بتونه به نتایج مرتبط دسترسی پیدا کنه.
Web Crawlerها نقش بسیار مهمی در سئو دارن و بهینهسازی سایتت برای این رباتها میتونه به بهبود رتبهبندی در نتایج جستجو کمک کنه. با استفاده از فایل robots.txt، نقشه سایت، لینکهای داخلی مناسب و تولید محتوای با کیفیت، میتونی مطمئن بشی که Web Crawlerها به بهترین شکل ممکن سایتت رو میخزن و ایندکس میکنن. اینجوری، وقتی کسی چیزی رو تو موتورهای جستجو سرچ میکنه، احتمال بیشتری داره که سایت تو جزو نتایج برتر نمایش داده بشه.
برای اینکه Web Crawlerها بتونن به بهترین شکل ممکن سایتت رو بخزن و ایندکس کنن، باید چند نکته رو در نظر بگیری:
Web Crawlerها به صورت مرتب به وبسایتها سر میزنن. تعداد دفعات بازدیدشون بستگی به عواملی مثل میزان بهروزرسانی سایت و اهمیتش داره.
بله، میتونی از فایل robots.txt استفاده کنی تا به Web Crawlerها بگی کدوم قسمتهای سایتت رو بخزن و کدومها رو نادیده بگیرن. همچنین میتونی تو بعضی از راهحلهای پیشرفتهتر مدیریت بات تنظیم کنی که با Web Crawlerهای مختلف به شکلهای متفاوتی برخورد بشه. مثلاً، ممکنه بخوای به بعضی از Web Crawlerهای کمتر شناخته شده اجازه بدی فقط در ساعات شبانه به سایتت دسترسی داشته باشن.
بعضی از Web Crawlerهای مدرن میتونن جاوااسکریپت رو پردازش کنن و لینکهای داخلش رو دنبال کنن، اما همهی اونا این قابلیت رو ندارن.
میتونی از ابزارهای مخصوص موتورهای جستجو مثل Google Search Console استفاده کنی تا ببینی سایتت ایندکس شده یا نه.
Web Crawlerها میتونن متادیتای تصاویر و ویدیوها رو بخونن ولی ممکنه نتونن محتوای اونها رو به خوبی متن تفسیر کنن.
در اکثر موارد، Web Crawlerها نمیتونن به محتوایی که پشت دیوارهای ورود یا مناطق محافظت شده با رمز عبور هست، دسترسی پیدا کنن.
همونطور که متوجه شدید، Web Crawlerها یا همون عنکبوتهای وب، نقش بسیار مهمی در دنیای اینترنت دارن. این ابزارهای هوشمند به موتورهای جستجو کمک میکنن تا اطلاعات موجود در صفحات وب رو جمعآوری و ایندکس کنن و به این ترتیب، جستجوهای ما رو سریعتر و دقیقتر انجام بدن. اونا مثل کتابدارهای خودکاری هستن که تو یه کتابخونهی بیپایان از صفحات وب میگردن و اطلاعات مورد نیاز رو پیدا و مرتب میکنن.
اما، برای مدیریت درست ترافیک باتها، باید تفاوت بین باتهای خوب و بد رو بشناسیم. باتهای مخرب میتونن به سایتها آسیب برسونن، سرورها رو دچار مشکل کنن و حتی دادههای حساس رو سرقت کنن. بنابراین، استفاده از راهحلهای مدیریت بات که به درستی بین باتهای خوب مثل Web Crawlerها و باتهای بد تمایز قائل بشن، ضروریه.
با تنظیم فایل robots.txt و استفاده از ابزارهای پیشرفتهی مدیریت بات، میتونیم دسترسی Web Crawlerها به سایت خودمون رو کنترل کنیم و مطمئن بشیم که فقط باتهای مجاز و مفید به سایت ما دسترسی دارن. این کار به بهبود رتبهبندی سایت در موتورهای جستجو کمک میکنه و در عین حال، امنیت و عملکرد سایت رو حفظ میکنه.
به طور کلی، Web Crawlerها ابزارهایی هستن که به ما کمک میکنن دنیای وسیع و پیچیدهی اینترنت رو بهتر بشناسیم و از اون بهرهبرداری کنیم. با مدیریت درست و استفادهی هوشمندانه از این ابزارها، میتونیم تجربهی بهتری از وب گردی و جستجوهای آنلاین داشته باشیم.