نمونه‌کارها

سیستم اسکرپ و اتوماسیون سفارش غذا با FastAPI

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

Python FastAPI Requests BeautifulSoup Web Scraping Camoufox Browser Automation JSON Caching Logging Scheduler
تصویر پروژهٔ سیستم اسکرپ و اتوماسیون سفارش غذا با FastAPI Python

این پروژه یک سیستم بک‌اند پیشرفته برای استخراج داده از پلتفرم‌های سفارش غذا و اتوماسیون فرآیند سفارش است که با FastAPI و Python توسعه داده شد. سیستم علاوه بر جمع‌آوری و استانداردسازی اطلاعات، APIهای ساختاریافته‌ای برای دسترسی سریع به داده‌ها و اجرای فرآیند سفارش ارائه می‌کند.

معرفی پروژه

در این پروژه یک سیستم Backend مبتنی بر FastAPI طراحی و پیاده‌سازی شد که دو بخش اصلی دارد:

  • استخراج و پردازش داده از پلتفرم‌های سفارش غذا
  • اتوماسیون فرآیند ثبت سفارش از طریق API

هدف اصلی، ایجاد یک لایه یکپارچه برای دریافت اطلاعات غذا و در ادامه اجرای فرآیند سفارش بدون نیاز به انجام دستی تمام مراحل توسط کاربر بود.

API استخراج اطلاعات غذا

سیستم امکان استخراج اطلاعات مختلف مربوط به غذاها و منو را فراهم می‌کند، از جمله:

  • نام غذا
  • قیمت
  • توضیحات
  • تصاویر
  • نظرات
  • گزینه‌ها و حالت‌های مختلف یک محصول

یکی از چالش‌های پروژه، پردازش ساختارهای پیچیده و تو در تو بود؛ برای مثال محصولاتی که دارای چند سایز یا گزینه متفاوت هستند.

داده‌های استخراج‌شده پس از پردازش به یک ساختار استاندارد تبدیل می‌شوند تا استفاده از آن‌ها در API ساده‌تر باشد.

استخراج اطلاعات کافه

بخش دیگری از سیستم برای دریافت اطلاعات منوی کافه طراحی شده است.

این بخش اطلاعاتی مانند قیمت و مشخصات منو را استخراج کرده و در قالب یک ساختار استاندارد برای استفاده در API آماده می‌کند.

اتوماسیون ثبت سفارش

یکی از بخش‌های اصلی پروژه، اجرای خودکار فرآیند ثبت سفارش است.

فرآیند اتوماسیون شامل مراحل زیر است:

  1. ورود اولیه به حساب کاربری
  2. ذخیره Session برای استفاده‌های بعدی
  3. جستجو در منو
  4. انتخاب آیتم موردنظر
  5. افزودن محصول به سبد خرید
  6. ورود به سبد خرید
  7. انتخاب آدرس
  8. انتخاب روش پرداخت
  9. ثبت نهایی سفارش

مدیریت Session و Cache

برای جلوگیری از انجام مجدد فرآیند ورود در هر درخواست، Session احراز هویت ذخیره و برای درخواست‌های بعدی استفاده می‌شود.

همچنین داده‌های استخراج‌شده به‌صورت JSON Cache ذخیره می‌شوند تا API بتواند در زمان کوتاه‌تری پاسخ دهد و بار پردازشی سیستم کاهش پیدا کند.

زمان‌بندی استخراج

فرآیند استخراج داده‌ها می‌تواند به‌صورت خودکار و دوره‌ای اجرا شود.

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

مدیریت خطا و لاگ

برای بررسی وضعیت سیستم و شناسایی مشکلات، یک سیستم Logging پیاده‌سازی شده است.

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

معماری API

بخش Backend با استفاده از FastAPI طراحی شده و APIهای ساختاریافته‌ای برای دسترسی به داده‌های استخراج‌شده و اجرای عملیات اتوماسیون ارائه می‌کند.

این ساختار باعث می‌شود سایر نرم‌افزارها بتوانند بدون نیاز به دسترسی مستقیم به منبع داده، از سرویس API استفاده کنند.

بهینه‌سازی سیستم

برای بهبود عملکرد و کاهش پردازش‌های تکراری، از روش‌هایی مانند:

  • Cache کردن داده‌ها
  • ذخیره خروجی به‌صورت JSON
  • استفاده مجدد از Session
  • زمان‌بندی پردازش‌ها
  • مدیریت خطا و Logging

استفاده شده است.

مشخصات پروژه

  • نقش: توسعه‌دهنده کامل
  • نوع سرویس: برنامه‌نویسی و توسعه نرم‌افزار
  • مدت انجام: ۱۰ روز
  • محدوده قیمت پروژه: ۵,۰۰۰,۰۰۰ تا ۱۰,۰۰۰,۰۰۰ تومان

فناوری‌های استفاده‌شده

  • Python
  • FastAPI
  • Requests
  • BeautifulSoup
  • Web Scraping
  • Camoufox / Browser Automation
  • JSON
  • Caching
  • Logging
  • Scheduler

نتیجه پروژه

نتیجه این پروژه، ایجاد یک Backend یکپارچه برای استخراج داده‌های سفارش غذا، استانداردسازی اطلاعات، ارائه API و اجرای خودکار فرآیند ثبت سفارش بود.

سیستم با استفاده از Cache، Session Management و زمان‌بندی خودکار، امکان پردازش دوره‌ای داده‌ها و ارائه سریع‌تر اطلاعات از طریق API را فراهم می‌کند.

ادامه
تصویر پروژهٔ سیستم هوشمند استخراج آگهی از دیوار Python

سیستم هوشمند استخراج آگهی از دیوار

وب‌اپلیکیشن استخراج و پردازش آگهی‌های دیوار با قابلیت جستجوی پیشرفته، فیلترگذاری، پیش‌نمایش داده‌ها و خروجی JSON و Excel.

Python Web Scraping HTML5 +5
مشاهدهٔ پروژه
تصویر پروژهٔ ربات ارسال پیام انبوه در پیام‌رسان بله Python

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

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

Python pybalebot Pandas +4
مشاهدهٔ پروژه