تفاوت وب اسکرپینگ و ⁦RPA⁩: کدام را انتخاب کنیم؟

تاریخ انتشار:

15 دقیقه مطالعه

Acar Diveroli
نویسنده: Acar Diveroli
دو نیمه با نشان VS: بلوک ربات روی صفحه برنامه قدیمی کلیک می‌کند؛ روبه‌رو، پلاک درخواست GET پشته آبی ردیف‌های JSON را می‌سازد

تیم عملیات یک شرکت پخش هر روز صبح کارش را به یک شکل آغاز می‌کند: کسی وارد پورتال تأمین‌کننده می‌شود، فهرست قیمت دیروز را دانلود می‌کند و تغییرها را دستی در یک سامانه ERP وارد می‌کند که API ندارد. آن سوی راهرو، تیم تحلیل قیمت همان محصول‌ها را از بیست فروشگاه اینترنتی عمومی می‌خواهد؛ هر روز و در یک جدول. هر دو کار «اتوماسیون» نام دارند، اما ابزارهای متفاوتی می‌خواهند: یک ربات نرم‌افزاری که پورتال را صفحه به صفحه به کار می‌گیرد، و یک اسکرپر که صفحه‌های عمومی را به شکل پاسخ‌های HTTP می‌خواند.

در این نوشته توضیح می‌دهیم RPA و وب اسکرپینگ چیستند، هر کدام چگونه کار می‌کند، کجا از هم جدا می‌شوند، کجا هم‌پوشانی دارند، هر کدام کی برنده است، مسئولیت آن‌ها باید با چه کسی باشد، پروکسی کجا به کار می‌آید و عامل‌های هوش مصنوعی چه چیزی را تغییر می‌دهند. اطلاعات مربوط به ابزارها از مستندات UiPath، Automation Anywhere و مایکروسافت گرفته شده که در 9 نوامبر 2026 خوانده شده‌اند.

RPA چیست؟

RPA، مخفف robotic process automation (اتوماسیون رباتیک فرایند)، نرم‌افزاری است که کارهای تکراری و قاعده‌مند را با به کار گرفتن نرم‌افزارهای دیگر، همان‌طور که یک انسان آن‌ها را به کار می‌گیرد، خودکار می‌کند. «ربات» در اینجا یک برنامه است: برنامه‌ای را باز می‌کند، دکمه یا فیلدی را پیدا می‌کند، کلیک می‌کند، تایپ می‌کند، مقداری را کپی می‌کند و جای دیگری می‌چسباند. کار کردن در سطح رابط کاربری به آن امکان می‌دهد سامانه‌هایی را به هم وصل کند که هرگز برای گفت‌وگو با یکدیگر ساخته نشده بودند.

حتی واژگان این حوزه هم استاندارد دارد. ⁦IEEE 2755-2017⁩، راهنمای IEEE برای اصطلاح‌ها و مفهوم‌های اتوماسیون هوشمند فرایند، در 28 سپتامبر 2017 منتشر شد تا واژگان اتوماسیون هوشمند فرایند مبتنی بر نرم‌افزار را یکدست نگه دارد و هنوز با وضعیت فعال فهرست شده است. تعریف خود UiPath هم به آن نزدیک است: RPA «برای خودکار کردن کارهای تکراری و قاعده‌مند مانند ورود داده و یکپارچه‌سازی سامانه‌ها از ربات‌های نرم‌افزاری استفاده می‌کند» و «از کنش‌های انسان در سامانه‌های دیجیتال تقلید می‌کند». Automation Anywhere آن را «در ذات خود قاعده‌مند» می‌نامد و ریشه‌اش را به ماکروهای ضربه‌کلید دهه 1990 می‌رساند.

ربات‌ها دو گونه‌اند. ربات Attended (با حضور کاربر) همراه یک انسان روی همان دستگاه کار می‌کند: کاربر آن را با یک دکمه یا کلید میان‌بر آغاز می‌کند، ورودی‌ها را می‌دهد و استثناها را خودش حل می‌کند؛ مستندات ⁦Automation 360⁩ در Automation Anywhere آن را همین‌طور شرح می‌دهد. ربات Unattended (بدون حضور کاربر) به تنهایی کار می‌کند، معمولاً روی دستگاهی اختصاصی، و با یک زمان‌بندی، یک فراخوانی API یا یک رویداد آغاز می‌شود؛ UiPath چنین فرایندهایی را «کنترل‌شده از راه Orchestrator»، یعنی سرور مدیریت خودش، و دارای لایسنس جداگانه توصیف می‌کند.

وب اسکرپینگ چیست؟

وب اسکرپینگ یعنی دریافت صفحه‌های وب با برنامه و بیرون کشیدن داده ساختاریافته از آن‌ها. اسکرپر همان درخواست HTTP را می‌فرستد که مرورگر می‌فرستد، HTML یا JSONای را که صفحه در پس‌زمینه بارگذاری می‌کند دریافت می‌کند، فیلدهایی را که باید پیدا کند برمی‌دارد و آن‌ها را به شکل ردیف ذخیره می‌کند. صفحه‌نمایشی در کار نیست: برنامه کد صفحه را می‌خواند، نه پیکسل‌هایش را. کل این زنجیره در وب اسکرپینگ چیست و چگونه کار می‌کند؟ آمده است.

هر کدام چگونه کار می‌کند؟

یک فرایند RPA:

  1. جریان را طراحی کنید. یک توسعه‌دهنده یا کاربر کسب‌وکار کلیک‌ها را یک بار ضبط می‌کند، یا کنش‌های آماده را در یک طراح بصری کنار هم می‌چیند، و قاعده‌هایی مانند «فاکتورهای بالاتر از یک آستانه را برای تأیید بفرست» اضافه می‌کند.
  2. هر گام را با یک انتخابگر به یک عنصر رابط کاربری گره بزنید. مستندات UiPath انتخابگر (selector) را قطعه‌ای XML تعریف می‌کند که «ویژگی‌های یک عنصر رابط گرافیکی کاربر و عنصرهای والد آن» را نگه می‌دارد؛ Power Automate آن را از جایگاه عنصر در سلسله‌مراتب برنامه می‌سازد و وقتی اولی شکست بخورد، انتخابگر بعدی را امتحان می‌کند.
  3. ربات را روی یک دسکتاپ یا ماشین مجازی اجرا کنید. اجرای با حضور کاربر از نشست خود کاربر استفاده می‌کند. اجرای بدون حضور کاربر دستگاه خودش را می‌خواهد: Power Automate با یک اتصال ذخیره‌شده وارد می‌شود، یک نشست ریموت دسکتاپ باز می‌کند، صفحه را قفل نگه می‌دارد و در پایان خارج می‌شود؛ در ویندوز 10 و 11 تا وقتی نشست کاربری فعالی وجود داشته باشد، حتی قفل‌شده، آغاز نمی‌شود (Microsoft Learn).
  4. استثناها را به یک انسان بسپارید. وقتی انتخابگر چیزی پیدا نکند یا مقداری از یک بررسی رد نشود، ربات آن مورد را در صفی برای یک انسان کنار می‌گذارد.

یک کار وب اسکرپینگ:

  1. درخواست. درخواست‌های HTTP برای فهرستی از URLها با آهنگی مؤدبانه، همراه با مهلت زمانی (timeout) و یک User-Agent صادقانه، پس از بررسی robots.txt و شرایط استفاده.
  2. تجزیه. HTML به یک درخت تبدیل می‌شود و فیلدها با انتخابگرهای CSS یا XPath انتخاب می‌شوند، یا از نقطه اتصال JSONای خوانده می‌شوند که خود صفحه آن را فرا می‌خواند.
  3. نرمال‌سازی. قیمت‌ها به عدد در یک ارز تبدیل می‌شوند، تاریخ‌ها یک قالب می‌گیرند و رکوردهای تکراری یکی می‌شوند.
  4. ذخیره و تکرار. ردیف‌ها به یک فایل یا پایگاه داده می‌روند و کار طبق زمان‌بندی دوباره اجرا می‌شود.

تفاوت وب اسکرپینگ و RPA: جدول مقایسه

جنبهRPAوب اسکرپینگ
هدفخودکار کردن یک فرایند کسب‌وکار میان برنامه‌هاجمع‌آوری داده از صفحه‌های وب
سطح کاررابط کاربری: پنجره‌ها، دکمه‌ها، فیلدهاپاسخ‌های HTTP: HTML، JSON
نیاز به صفحه‌نمایشبله، یک نشست دسکتاپ یا ماشین مجازیخیر
مقیاسهر ربات یک صفحه در هر لحظهدرخواست‌های موازی زیاد از یک سرور
کی از کار می‌افتدبا تغییر پنجره، برچسب، چیدمان یا وضوح صفحهبا تغییر HTML؛ وقتی سایت محدودیت نرخ بگذارد
مدل هزینهلایسنس به‌ازای هر ربات یا runtime، دستگاه‌ها، یک توسعه‌دهندهزمان مهندسی، سرورها، پروکسی، نگهداری
مالک معمولعملیات، مالی یا اتوماسیون ITتیم داده یا مهندسی
خروجییک فرایند انجام‌شدهمجموعه‌داده‌ای از ردیف‌ها

RPA و وب اسکرپینگ کجا هم‌پوشانی دارند؟

بیشتر بسته‌های RPA یک اسکرپر کوچک در خود دارند و بیشتر تیم‌های داده دیر یا زود به یک ربات نیاز پیدا می‌کنند.

ربات RPA که یک وب‌سایت عمومی را می‌خواند. کنش Extract data from web page (استخراج داده از صفحه وب) در Power Automate، به گفته صفحه مرجع آن، «داده را از بخش‌های مشخصی از یک صفحه وب به شکل مقدارهای تکی، فهرست‌ها، ردیف‌ها یا جدول‌ها» استخراج می‌کند، صفحه‌بندی را تا تعداد صفحه تعیین‌شده دنبال می‌کند و نتیجه را در یک متغیر یا یک صفحه‌گسترده اکسل ذخیره می‌کند. این اسکرپینگ از راه مرورگری است که ربات کنترلش می‌کند: برای چند صفحه در دل یک فرایند بزرگ‌تر خوب است و برای ده هزار صفحه در روز نادرست، چون هر صفحه یکی‌یکی رندر می‌شود.

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

API رسمی‌ای که هر دو را بی‌نیاز می‌کند. اگر پورتال تأمین‌کننده API داشته باشد، ربات کلیک‌کننده سربار است؛ اگر سایتی فید داده منتشر کند، اسکرپ کردنش هم همین‌طور. این تصمیم در مقایسه ما میان وب اسکرپینگ و API آمده است.

هر کدام کی برنده است؟

RPA وقتی برنده است که کار درون سامانه‌هایی باشد که از هیچ راه دیگری به آن‌ها نمی‌رسید:

  • برنامه‌های قدیمی بدون API: شبیه‌سازهای ترمینال، برنامه‌های منتشرشده از راه Citrix، یک برنامه ویندوزی از سال 2004؛ مایکروسافت شبیه‌سازهای ترمینال را در شمار برنامه‌های قدیمی‌ای می‌آورد که جریان‌های دسکتاپ (desktop flows) خودکارشان می‌کنند.
  • نرم‌افزار دسکتاپ لایسنس‌دار که کاربر اجازه کار با آن را دارد اما هیچ دسترسی برنامه‌نویسی ارائه نمی‌دهد.
  • تأییدهایی که انسان در میانه فرایند انجام می‌دهد، جایی که ربات با حضور کاربر کار را آماده می‌کند و یک انسان آن را تأیید می‌کند.
  • فرایند به جای مجموعه‌داده: هدف «فاکتور ثبت شد» است، نه «این هم یک جدول».

وب اسکرپینگ وقتی برنده است که داده عمومی باشد، حجم بزرگ و منبع‌ها زیاد:

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

هزینه هر کدام چقدر است و چه چیزی آن‌ها را از کار می‌اندازد؟

هزینه RPA با لایسنس آغاز می‌شود که به‌ازای هر ربات، هر کاربر یا هر runtime فروخته می‌شود و اجراهای بدون حضور کاربر معمولاً در رده بالاتری قرار دارند؛ Power Automate برای جریان‌های دسکتاپ بدون حضور کاربر پلن Process خود را لازم می‌داند. سپس نوبت دستگاه‌ها، یک توسعه‌دهنده و کاربرانی می‌رسد که به استثناها رسیدگی می‌کنند. هزینه اسکرپینگ زمان مهندسی برای تجزیه‌گرها، سرورها، ترافیک پروکسی هر جا که هدف‌ها آن را لازم کنند و پایشی است که بفهمد کی یک انتخابگر بی‌صدا چیزی برنمی‌گرداند.

آنچه RPA را از کار می‌اندازد صفحه‌نمایش است: دکمه‌ای که نامش عوض شده، فیلدی تازه، پنجره گفت‌وگویی غیرمنتظره یا وضوح صفحه‌ای متفاوت روی دستگاه بدون حضور کاربر؛ مایکروسافت هشدار می‌دهد که این مورد آخر می‌تواند عنصر هدف را پنهان کند یا ربات را به کار روی عنصر اشتباه وادارد. راهنمای انتخابگر UiPath می‌گوید وقتی مقدار یک ویژگی میان دو اجرا تغییر کند، «انتخابگر نمی‌تواند عنصر را درست شناسایی کند». آنچه اسکرپینگ را از کار می‌اندازد نشانه‌گذاری و دروازه‌بان است: یک بازطراحی نام کلاس‌هایی را که تجزیه‌گر شما به آن‌ها تکیه دارد عوض می‌کند، و سایتی که درخواست‌های زیادی از یک آدرس ببیند با 429 Too Many Requests پاسخ می‌دهد یا یک صفحه محافظت در برابر ربات نشان می‌دهد.

مالک ربات کیست؟

ربات RPA با اطلاعات ورود یک کارمند یا یک حساب سرویس درون سامانه‌های شما عمل می‌کند: اجراهای بدون حضور کاربر در Power Automate با اطلاعات ورودی وارد می‌شوند که در اتصال جریان دسکتاپ ذخیره شده است، و ربات‌های بدون حضور کاربر در Automation Anywhere را زمان‌بند Control Room، فراخوانی‌های API یا رویدادها آغاز می‌کنند. به آن کمترین دسترسی لازم را بدهید، هر اجرا را ثبت کنید و وقتی استثناها روی هم انباشته شدند، به کسی هشدار دهید.

اسکرپر در نقش بازدیدکننده سایت شخص دیگری عمل می‌کند؛ تابع شرایط استفاده آن سایت، robots.txt و قانون حفاظت از داده است. قیمت و موجودی داده تجاری عمومی‌اند؛ نام، شماره تلفن و نشانی ایمیل افراد طبق GDPR و قانون KVKK ترکیه داده شخصی‌اند و نمونه‌های ما هرگز آن‌ها را جمع نمی‌کنند. آهنگ مؤدبانه را نگه دارید، اسکرپر را صادقانه معرفی کنید و وقتی از شما خواسته شد، متوقف شوید. این نوشته قاعده‌ها را شرح می‌دهد؛ برای یک پروژه مشخص با یک وکیل مشورت کنید.

پروکسی کجا به کار می‌آید؟

پروکسی فقط در سمت رو به وب هر دو ابزار اهمیت دارد. ربات یا اسکرپری که در یک مرکز داده اجرا می‌شود، از آدرس آی‌پی همان مرکز داده به سایت‌های عمومی می‌رسد و قیمت‌ها و زبانی را می‌بیند که آن موقعیت می‌بیند؛ وقتی فرایند باید نسخه محلی یک بازار را ببیند، به آن خروجی‌ای در همان بازار بدهید.

برای ربات یا اسکرپری که وارد پورتال یک شریک تجاری می‌شود یا API شریکی را فرا می‌خواند که آدرس‌ها را در لیست سفید می‌گذارد، پروکسی ISP یک آی‌پی ثابت در اختیارش می‌گذارد؛ این محصول‌ها که به‌ازای هر آی‌پی فروخته می‌شوند، به‌صورت پیش‌فرض به سایت‌های هدفی محدودند که شما نام می‌برید و دسترسی به همه وب‌سایت‌ها یک افزونه پولی است.

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

RPA و عامل‌های هوش مصنوعی: چه چیزی تغییر می‌کند؟

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

سازندگان این دو را در هم می‌آمیزند (UiPath بینایی رایانه‌ای و درک سند را در شمار قابلیت‌های هوش مصنوعی می‌آورد که ربات‌هایش را گسترش می‌دهند)؛ الگویی که پایدار می‌ماند جریانی ثابت با یک مدل در یکی از گام‌هاست، نه عاملی که آزادانه در یک سامانه عملیاتی کلیک می‌کند.

اشتباه‌های رایج

  • اسکرپ کردن ده هزار صفحه با ربات RPA. هر صفحه یک مرورگر رندرشده روی دستگاهی مشغول هزینه دارد؛ حجم کار را به اسکرپر منتقل کنید.
  • ساختن اسکرپر برای سامانه داخلی‌ای که API دارد. نگهداری را بیهوده به دوش می‌گیرید و API همان راهی است که شرایط استفاده مجاز می‌داند.
  • اجرای ربات با یک حساب شخصی. وقتی آن شخص برود، فرایند می‌ایستد و رد ممیزی مبهم می‌شود.
  • معاف دانستن اسکرپر از قاعده‌های سایت. شرایط استفاده، robots.txt و محدودیت‌های نرخ همان‌طور که بر بازدیدکننده اعمال می‌شوند، بر برنامه هم اعمال می‌شوند.

راهنمای انتخاب

نیازپیشنهاد
جابه‌جایی داده میان دو سامانه داخلی بدون APIRPA
ارائه‌دهنده API یا فید داده دارداز API استفاده کنید
قیمت‌های عمومی صدها سایت، هر روزوب اسکرپینگ، با خروجی به‌ازای هر کشور
هر مورد باید به تأیید یک انسان برسدRPA با حضور کاربر
سندهای بدون ساختار در یکی از گام‌های یک فرایند ثابتRPA به‌علاوه یک مدل در همان گام
گام‌هایی که از پیش نمی‌توان ترسیم کردعامل هوش مصنوعی با محدودیت و تأیید
سایت‌های زیاد و تیمی برای نگهداری تجزیه‌گرها نیستAPI اسکرپینگ مدیریت‌شده

پرسش‌های متداول

RPA چیست و به چه کاری می‌آید؟

RPA یعنی اتوماسیون رباتیک فرایند: ربات‌های نرم‌افزاری که کارهای قاعده‌مند را با به کار گرفتن برنامه‌های دیگر از راه رابط کاربری آن‌ها انجام می‌دهند، همان‌طور که یک انسان انجام می‌دهد. داده را میان سامانه‌هایی که API ندارند جابه‌جا می‌کند، فاکتور ثبت می‌کند و دیگر فرایندهای تکراری پشتیبانی اداری را اجرا می‌کند.

آیا وب اسکرپینگ نوعی RPA است؟

نه. وب اسکرپینگ صفحه‌های وب را از راه HTTP می‌خواند و فیلدها را از پاسخ بیرون می‌کشد؛ RPA با عمل کردن روی صفحه‌های برنامه‌ها فرایندهای کسب‌وکار را خودکار می‌کند. این دو ابزارهایی متفاوت با مالکان و هزینه‌های متفاوت‌اند.

آیا ابزارهای RPA می‌توانند وب‌سایت‌ها را اسکرپ کنند؟

بله، در مقیاس کوچک. کنش Extract data from web page در Power Automate مقدارهای تکی، فهرست‌ها یا جدول‌ها را از یک صفحه بیرون می‌کشد؛ برای هزاران صفحه در روز یک اسکرپر اختصاصی سریع‌تر و ارزان‌تر است، چون برای هر صفحه یک صفحه‌نمایش رندر نمی‌کند.

RPA یا API: کدام را انتخاب کنیم؟

API را، هر وقت سامانه APIای با داده مورد نیاز شما ارائه می‌دهد: API قراردادی است که ارائه‌دهنده نگه می‌دارد، در حالی که ربات به صفحه‌نمایشی وابسته است که هر لحظه ممکن است تغییر کند. RPA راه جایگزین برای سامانه‌های بدون API است، مانند نرم‌افزار دسکتاپ قدیمی یا لایسنس‌دار.

آیا عامل‌های هوش مصنوعی جای RPA را می‌گیرند؟

در فرایندهای پیش‌بینی‌پذیر نه. عامل گام‌هایش را خودش تعیین می‌کند؛ این وقتی کمک می‌کند که کاری را نتوان از پیش اسکریپت کرد، اما در هر گام هزینه می‌افزاید و نتیجه را کمتر تکرارپذیر می‌کند؛ فرایند ثابت و ممیزی‌پذیر همچنان به یک جریان تعریف‌شده تعلق دارد، اغلب با یک مدل در یکی از گام‌ها.

کدام ارزان‌تر است، RPA یا وب اسکرپینگ؟

به کار بستگی دارد. RPA هزینه لایسنس، دستگاه و توسعه‌دهنده دارد و برای فرایندهایی با ده‌ها یا صدها مورد در روز مناسب است؛ اسکرپینگ هزینه مهندسی، سرور و پروکسی دارد و با رشد حجم، به‌ازای هر صفحه ارزان‌تر می‌شود.

خلاصه

RPA با به کار گرفتن نرم‌افزار از راه صفحه‌نمایش آن یک فرایند کسب‌وکار را خودکار می‌کند؛ به سامانه‌های بدون API می‌رسد، به بهای وابستگی به همان صفحه‌نمایش. وب اسکرپینگ داده را از صفحه‌های عمومی از راه HTTP جمع می‌کند؛ به هزاران صفحه و کشور مقیاس می‌گیرد، به بهای نگهداری تجزیه‌گرها و پیروی از قاعده‌های هر سایت. اول دنبال API بگردید، سپس RPA را برای فرایندهای داخلی و اسکرپینگ را برای داده عمومی وب به کار ببرید. اگر ترجیح می‌دهید به جای نگهداری تجزیه‌گرها رکوردهای استخراج‌شده را دریافت کنید، Web Scraping API ما استخراج مدیریت‌شده صفحه‌ها را از راه تیم فروش ما ارائه می‌دهد.

پرسش از ChatGPTپرسش از Claude