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

بخش اول: هدف پروژه چه بود؟
هدف اصلی این پروژه، استخراج اطلاعات مربوط به آگهیهای بخش خودرو در شهر تهران بود. موارد مورد نظر برای جمعآوری عبارت بودند از:
- عنوان آگهی
- برند و مدل خودرو
- قیمت
- سال تولید
- کارکرد
- محل درج آگهی
- لینک به صفحه جزئیات
این دادهها قرار بود بهصورت روزانه ذخیره و برای تحلیل روند قیمتی، بررسی پرتقاضاترین مدلها و ارزیابی تغییرات بازار مورد استفاده قرار گیرند.
بخش دوم: ساختار کلی پروژه
در فاز ابتدایی پروژه، هدف بر آن بود که روند کار تا حد ممکن ساده و بهینه باقی بماند. ساختار کلی این پروژه از سه بخش تشکیل میشد:
۱. جمعآوری آدرس آگهیها
ابتدا با بررسی صفحه اول لیست آگهیها، لینک هر آگهی استخراج میشد. این لیست بهصورت صفحهبندیشده بود و اسکریپت بهصورت گامبهگام صفحات را مرور میکرد.
۲. استخراج جزئیات از صفحات داخلی
برای هر آگهی، صفحهی جزئیات باز شده و اطلاعات موردنظر (مدل، قیمت، سال ساخت و …) استخراج میشد.
۳. ذخیرهسازی
دادهها در یک فایل CSV ساده ذخیره میشدند تا در مراحل بعدی بتوان با ابزارهایی مثل Excel یا Google Sheets آنها را تحلیل کرد.
بخش سوم: چالشهای اجرایی پروژه
استخراج داده از دیوار بهظاهر ساده است، اما در عمل با چالشهایی روبرو شدیم:
✅ ساختار داینامیک HTML
کدهای HTML دیوار بهصورت پویا و با استفاده از JavaScript تولید میشوند. به همین دلیل، ابزارهای سنتی مثل BeautifulSoup بهتنهایی کافی نبودند و لازم بود اسکریپت با مرورگر شبیهسازیشده کار کند.
✅ تاخیر در بارگذاری صفحات
برخی اطلاعات (مثل مشخصات فنی خودرو) با کمی تأخیر روی صفحه ظاهر میشوند. برای حل این موضوع، باید زمان مناسبی برای بارگذاری کامل در نظر گرفته میشد.
✅ جلوگیری از بلاک شدن
با افزایش تعداد درخواستها، ممکن بود سرور دیوار رفتار ربات را تشخیص داده و IP بلاک کند. بنابراین در این پروژه:
- سرعت درخواستها کنترل شد
- فاصلهگذاری بین بازدیدها رعایت شد
- از تغییر User-Agent استفاده شد
✅ ساختار متغیر اطلاعات
در برخی آگهیها مثلاً قیمت یا سال تولید درج نشده بود. در نتیجه، اسکریپت باید بهگونهای طراحی میشد که با نبود برخی فیلدها نیز بهدرستی کار کند و اطلاعات ناقص را حذف نکند.
بخش چهارم: تحلیل اولیه دادهها
پس از جمعآوری حدود ۲۰۰۰ آگهی، برخی از نتایج جالبی که از تحلیل اولیه دادهها بهدست آمد:
- پژو ۲۰۶، پراید و سمند از پرتکرارترین خودروهای درجشده بودند
- محدوده قیمتها برای خودروهای کارکرده از ۲۰۰ میلیون تا بالای ۲ میلیارد متغیر بود
- برخی فروشندگان قیمت را بسیار بالاتر از میانگین تعیین کرده بودند
- در برخی مناطق خاص مثل “تهرانپارس” یا “جنتآباد”، تعداد آگهیها بهطور چشمگیری بیشتر بود
این تحلیلها زمینهساز پروژههای بعدی شد؛ از جمله پیشبینی قیمت خودرو با مدلهای یادگیری ماشین و طراحی داشبورد قیمت بهروزرسانیشونده.
جمعبندی
پروژهی استخراج داده از دیوار نشان داد که وب اسکریپینگ تنها یک تکنیک فنی نیست، بلکه راهی برای درک بهتر بازار و رفتار کاربران در پلتفرمهای آنلاین است. با انتخاب درست هدف، شناخت دقیق ساختار سایت، و رعایت اصول اخلاقی و فنی، میتوان دادههایی ارزشمند برای تحلیلهای اقتصادی، تحقیقاتی یا تجاری استخراج کرد.
اگر شما هم تجربهای از کار با دیوار یا پروژهای مشابه دارید، خوشحال میشویم در بخش دیدگاهها با ما و دیگر کاربران به اشتراک بگذارید. 👇