استخراج داده از وب (Web Scraping) سنتی معمولاً قطعی است: selector میزنید، فیلد بیرون میآید، در DB ذخیره میشود. هوش مصنوعی (AI) وقتی وارد میشود که متن آزاد، layout متغیر یا taxonomy پیچیده دارید و نگهداری صدها rule انسانی تمام نمیشود. این مقاله نقش واقعی AI را میگوید — نه شعار فروش ابزار.
- برای فیلدهای ثابت (SKU، قیمت عددی در DOM) parser deterministic اغلب بهتر و ارزانتر است.
- AI برای classification، entity از متن، semantic matching و fallback وقتی selector میشکند.
- خروجی مدل را با schema + rule validate کنید؛ hallucination در اعداد رایج است.
- معماری hybrid: scrape قطعی → AI فقط روی gap → human queue برای موارد حساس.
- Agent ابزار فراخوانی میکند؛ scraper فقط HTML/JSON میگیرد.
وباسکرپینگ سنتی چطور کار میکند؟
مسیر کلاسیک در راهنمای استخراج داده از وب آمده: HTTP یا Playwright → parse → نرمالسازی → ذخیره. اگر ساختار صفحه پایدار باشد، هزینه هر رکورد نزدیک صفر است و نتیجه repeatable است.
هوش مصنوعی در خط پردازش دقیقاً چه میکند؟
مدل زبانی یا vision میتواند: برچسب فیلد پیشنهاد دهد، بلاک HTML را به JSON map کند، دو عنوان را «همان محصول» تشخیص دهد، یا تغییر layout را برای انسان خلاصه کند. این کارها تفسیر هستند — نه جایگزین قرارداد داده با منبع.
چه زمانی روش deterministic بهتر است؟
- فیلد در DOM با selector پایدار (مثلاً
data-product-id). - حجم بالا (دهها هزار صفحه در روز) و بودجه محدود.
- ممیزی: هر خطا باید در log و گزارش run قابل ردیابی باشد.
- Latency زیر چند ثانیه برای هر رکورد.
AI برای چه مشکلاتی ارزش دارد؟
استخراج از متن غیرساختاریافته
توضیحات محصول، آگهی آزاد، کامنت — جایی که regex شکننده است.
طبقهبندی (Classification)
نگاشت «پیشفروش / آماده تحویل» به taxonomy داخلی شما.
تشخیص موجودیت (Entity extraction)
برند، شهر، مدل از عنوان — بعد با lookup table تأیید شود.
نرمالسازی معنایی
«۱.۲ میلیون تومان» و «1200000» یکسان شوند — AI پیشنهاد میدهد، rule تأیید میکند.
Semantic matching
دو منبع، دو عنوان متفاوت، یک SKU — برای پاکسازی و dedupe.
Layout متغیر
وقتی classهای CSS هر هفته عوض میشوند، fallback LLM با HTML chunk ممکن است ارزانتر از تیم selector باشد — با golden set برای regression.
خلاصهسازی و Change detection
diff دو snapshot + خلاصه فارسی برای تیم عملیات.
AI Agent چیست و با Scraper چه فرق دارد؟
Scraper داده را طبق اسکریپت ثابت میگیرد. Agent هدف دارد («لیست قیمت این دسته را کامل کن»)، ابزار (مرورگر، API، DB) را صدا میزند و بر اساس مشاهده تصمیم بعدی میگیرد. برای مسیرهای حساس تأیید انسان لازم است — بیشتر در عاملهای هوش مصنوعی.
معماری Hybrid — عمیق
لایه ۱: fetch و parse قطعی. لایه ۲: اگر فیلد اجباری null شد → queue AI با prompt ثابت و schema JSON. لایه ۳: reject اگر validation fail (مثلاً قیمت منفی). لایه ۴: نمونه تصادفی برای QA انسانی.
Promptها version دارند؛ تغییر prompt مثل تغییر کد است و باید در changelog ثبت شود.
مثال واقعی: ۱۰٬۰۰۰ صفحه محصول با قالب نسبتاً ثابت
فرض کنید ۹٬۵۰۰ صفحه SKU، قیمت و عنوان در selector ثابت دارند. Parser deterministic هر شب ۱۰ دقیقه طول میکند و هزینه نزدیک صفر. ۵۰۰ صفحه description طولانی و دستهبندی مبهم دارند — AI فقط روی همان ۵۰۰ صفحه category پیشنهاد میدهد؛ تیم شما ۲٪ نمونه را دستی چک میکند. اگر AI را روی هر ۱۰٬۰۰۰ صفحه بگذارید، هزینه توکن و latency چند برابر میشود بدون بهبود معنادار در فیلدهای ثابت.
{
"sku": "P-88421",
"title": "نمونه محصول",
"price_toman": 890000,
"category_ai": "لوازم خانگی > آشپزخانه",
"category_confidence": 0.91,
"validated": true,
"source_url": "https://example.com/p/88421"
}
نمونه نمایشی — category از AI، قیمت از parser
چه زمانی نباید از AI استفاده کنید؟
| موضوع | ریسک |
|---|---|
| هزینه | هزینه توکن در scale |
| تأخیر | کندتر از parse مستقیم |
| Hallucination | عدد/شناسه ساختگی |
| تکرارپذیری | خروجی غیرقطعی بین runها |
| اعتبارسنجی | بدون schema = داده کثیف |
| حریم خصوصی | ارسال PII به API ثالث |
| محدودیت درخواست | سقف فراخوانی مدل |
ابزارهای Python (نمای کلی)
Pydantic برای schema، Playwright برای fetch، orchestration با Celery یا workflow داخلی. مدل را local یا API انتخاب کنید — trade-off حریم خصوصی و هزینه.
ارتباط با سایر مقالات
راهنمای جامع وباسکرپینگ، دریافت داده از API، اتوماسیون زمانبندیشده، نرمالسازی داده.
سوالات متداول
آیا AI جایگزین BeautifulSoup یا Playwright میشود؟
خیر — ابزار fetch/parse همچنان لازم است؛ AI لایه تفسیر است.
چطور hallucination را کم کنیم؟
خروجی JSON اجباری، محدودیت enum، cross-check عددی با regex، نمونهگیری انسانی.
Agent برای هر پروژه لازم است؟
خیر — فقط workflow چندمرحلهای با تصمیم پویا.
قدم بعدی
golden set بسازید، متریک precision تعریف کنید، AI را روی gap محدود کنید. برای پیادهسازی در تیم: اتوماسیون و Scraper اختصاصی.