Crawler چیست؟
Crawler» چیست؟

Crawler (یا Web Crawler / Web Scraper) یک برنامه است که:
وارد یک صفحهٔ وب میشود
محتوای صفحه (HTML) را دریافت میکند
دادههای موردنظر را از آن استخراج میکند
به لینکهای دیگر سر میزند
این فرآیند را تکرار میکند (در صورت نیاز)
به زبان ساده:
Crawler یک ربات است که میتواند صفحات وب را بخواند، بفهمد، و اطلاعات مفید از آن بیرون بکشد.
عملکرد Crawler بهصورت مرحلهبهمرحله
۱) دریافت محتوا (Fetching)
Crawler ابتدا آدرس یک صفحه (URL) را میگیرد و محتوای HTML آن را مثل یک مرورگر دریافت میکند.
GET https://example.com
۲) تحلیل HTML (Parsing)
برنامه کد HTML را خط به خط میخواند و ساختار صفحه را استخراج میکند:
Title
تصاویر
لینکها
بخش محتوا
جدولها
قیمتها
۳) استخراج دادهها (Extracting)
از داخل HTML اطلاعاتی که لازم دارد را برمیدارد.
مثلاً در یک صفحهٔ تور مسافرتی:
نام تور
قیمت
شهر مقصد
مدت سفر
پیشنهاد ویژه
۴) ذخیره دادهها
پس از استخراج، Crawler داده را در یک ساختار قابلاعتماد ذخیره میکند:
List<T>
فایل JSON
فایل CSV
یا حتی دیتابیس (در نسخههای حرفهای)
۵) جستجوی لینک و ادامهٔ Crawling
Crawler داخل صفحه لینکها را پیدا میکند:
لینک به صفحهٔ بعدی
لینک به تورهای دیگر
لینک دستهبندیها
و دوباره همان کارها را روی صفحات جدید انجام میدهد.
۶) جلوگیری از حلقه و اضافهکاری
Crawler باید لیست صفحاتی که قبلاً دیده را نگه دارد
تا بینهایت در یک سایت نچرخد:
خروجی نهایی Crawler چیست؟
بسته به هدف پروژه:
لیست تورها (name, price, city)
لیست مقالات
لیست محصولات
قیمتها برای مقایسه
ساخت یک JSON بزرگ
ساخت sitemap
ذخیرهٔ لینکها
چرا Crawler جذاب است؟
چون حس «رباتسازی» و «جمعکردن دادهها از اینترنت» دارد.
در پروژهٔ آموزشی معمولاً خروجی این است:
سپس میتوان این JSON را به پروژهٔ دیگر داد.
واقعیت این است که نوشتن چنین Crawler سادهای، یکی از ابتداییترین و سادهترین بخشهایی است که در مسیر برنامهنویسی یاد میگیرید با شرکت در دورهٔ جامع برنامهنویسی وب مهندس بهمن آبادی باعث میشود این مفاهیم را بسیار عمیقتر، اصولیتر و حرفهایتر یاد بگیرید.
در این دوره:
با معماریهای استاندارد
Crawlerهای واقعی
API نویسی
دیتابیس و EF Core
پروژههای سازمانی
طراحی معماری لایهای
و کار بر روی پروژههای بزرگ
آشنا میشوید.