تیشتر
فهرست بخش‌های مستندات عیب‌یابی: چرا اجرای روتین با خطا مواجه شد و چگونه آن را برطرف کنیم؟
v1.0
خانه / مستندات / عیب‌یابی: چرا اجرای روتین با خطا مواجه شد و چگونه آن را برطرف کنیم؟

عیب‌یابی: چرا اجرای روتین با خطا مواجه شد و چگونه آن را برطرف کنیم؟

راهنمای گام‌به‌گام رفع خطای متوقف شدن روتین: مدیریت تغییر قالب سایت هدف، لودینگ داینامیک جاوااسکریپت، و اصلاح پرامپت استخراج داده.

هنگامی که وضعیت یک روتین در داشبورد شما به اجرای ناموفق (Execution Failed) تغییر می‌کند، معمولاً دلیل آن تغییر ساختار صفحات وب‌سایت مقصد، کندی موقت سرور منبع یا غیرقابل خواندن بودن محتوای صفحه است.

با استفاده از این راهنما می‌توانید در کمتر از ۲ دقیقه ریشه مشکل را شناسایی کرده و روتین خود را مجدداً به مدار بازگردانید.


۳ دلیل اصلی توقف و خطای اجرای روتین

┌─────────────────────────────────┐     ┌───────────────────────────────────┐
│ ریشه خطا                        │ ──► │ راهکار فوری                       │
├─────────────────────────────────┤     ├───────────────────────────────────┤
│ ۱. تغییر لینک یا خطای 404       │ ──► │ به‌روزرسانی به لینک مستقیم جدید   │
│ ۲. لودینگ داینامیک جاوااسکریپت  │ ──► │ فعال‌سازی حالت رندر کامل در استودیو│
│ ۳. سخت‌گیری بیش از حد در پرامپت │ ──► │ بازتنظیم شروط استخراج داده        │
└─────────────────────────────────┘     └───────────────────────────────────┘

گام اول: بررسی لاگ خطای اجرا (Execution Log)

  1. در داشبورد تیشتر وارد بخش روتین‌ها (Routines) شوید.
  2. روی روتینی که متوقف شده کلیک کرده و وارد تب تاریخچه اجراها (Runs History) شوید.
  3. روی ردیف اجرای ناموفق کلیک کنید و متن پیام خطا را بخوانید:
    • کد خطای 404 Not Found یا 301 Moved: سایت رقیب یا مرجع آدرس صفحه را تغییر داده است. لینک صفحه جدید را جایگزین کنید.
    • کد خطای 403 Forbidden / کلودفلر: وب‌سایت مقصد کپچای ضد ربات سخت‌گیرانه فعال کرده است. در این شرایط استفاده از فید RSS، سایت‌مپ یا آدرس وبلاگ صفحه بهترین جایگزین است.
    • خطای PARSER_EMPTY_BODY: صفحه مورد نظر کل متن خود را با فریمورک‌های کلاینت‌ساید (React/Vue) پس از لود کامل صفحه تزریق می‌کند.

گام دوم: استفاده از «تست زنده (Live Test)» برای دیباگ آنی

هرگز با حدس و گمان پرامپت را تغییر ندهید:

  1. روتین خود را در استودیو تیشتر باز کنید.
  2. در نوار بالای استودیو دکمه تست زنده (Live Test) با آیکون ⚡ را بزنید.
  3. تیشتر بلافاصله در همان لحظه صفحه مقصد را کراول کرده و محتوای متنی استخراج‌شده را در پنل روبروی شما نشان می‌دهد.
  4. اگر اعداد و قیمت‌های مد نظرتان در این متن وجود دارد، یعنی اتصال و استخراج به درستی کار می‌کند و صرفاً باید پرامپت تحلیل را کمی منعطف‌تر بنویسید.

گام سوم: منعطف‌سازی پرامپت استخراج داده

اگر در پرامپت خود روی کلاس‌های خاص HTML اصرار ورزید، با یک تغییر ظاهری کوچک در سایت هدف روتین به خطا می‌خورد:

  • پرامپت شکننده و پرخطا: «قیمت داخل کلاس اسپان product-price-v2 را بخوان.»
  • پرامپت مقاوم و استاندارد صنعتی: «قیمت نهایی و برجسته محصول را در صفحه پیدا کن. آن را با قیمت قبلی مقایسه کن و فقط در صورت اختلاف بیش از ۵ درصد به من هشدار بده.»

نیاز به راهنمایی بیشتر دارید؟

اگر مشکل همچنان ادامه داشت:

  • در تنظیمات پیشرفته روتین گزینه تلاش مجدد خودکار (Automatic Retries) را با ۳ بار تکرار فعال کنید.
  • برای سایت‌های دولتی و کند، راهنمای رفع خطای تایم‌اوت را مطالعه نمایید.