Enjaz
systems / webscraper-pro-مكشط-ويب-متعدد-المحركات
serviceمُنشَر

WebScraper Pro — مكشط ويب متعدد المحركات

أداة عربية لاستخراج بيانات الويب بثلاثة محركات: Requests+BS4 للمواقع البسيطة، Selenium للديناميكي، Playwright للمتقدم. واجهة Desktop بـ CustomTkinter، تصدير CSV/JSON/Excel.

PythonSeleniumPlaywrightBeautifulSoupCustomTkinter

abstract

أداة استخراج بيانات احترافية بواجهة عربية، تختار المحرّك المناسب لكل موقع.

🎯 المشكلة: كل أداة Scraping مخصصة لنوع موقع واحد. والمستخدم العربي يحتاج RTL + توثيق عربي.

✨ الحل: أداة موحّدة بـ 3 محركات قابلة للتبديل + واجهة عربية.

المحركات: • Requests + BeautifulSoup — مواقع HTML الثابتة، سرعة قصوى • Undetected ChromeDriver — مواقع JS مع حماية Cloudflare • Playwright — مواقع SPA معقدة

الميزات: • واجهة CustomTkinter داكنة وحديثة • تصدير CSV / JSON / Excel • معالجة دفعات من URLs • Selectors محفوظة قابلة لإعادة الاستخدام • توثيق عربي شامل بالأمثلة

architecture

  ┌──────────────┐      ┌────────────┐      ┌─────────────┐
  │  client      │─────▶│   nginx    │─────▶│  next.js    │
  │  (browser)   │      │  (proxy)   │      │  (ssr)      │
  └──────────────┘      └─────┬──────┘      └──────┬──────┘
                              │                    │
                              ▼                    ▼
                        ┌───────────┐        ┌──────────┐
                        │ fastapi   │◀──────▶│ postgres │
                        │ (asyncio) │        │ (asyncpg)│
                        └───────────┘        └──────────┘

Stateless API behind a reverse proxy. SSR delivers HTML in under a second on warm cache. Connection pool keeps Postgres hot. JWT in HttpOnly cookie for the admin panel.

notes

  • SSR-first to keep TTFB < 1s on cold visits.
  • Type-checked end-to-end via Pydantic schemas mirrored to TS.
  • Migrations versioned via Alembic; zero-downtime restarts.