Multi-Site Product Description Scraping

Job ID: 40243316

Budget: ₹37,500 – ₹75,000 INR

1. Project GoalBuild a hybrid VFS Global visa appointment booking bot that is ultra-fast for high-demand slots (slots disappear in seconds/minutes). Use API polling for super-fast availability scanning (every 1-5 seconds, sub-second responses).
When a slot is detected, switch to browser automation for secure confirmation (handle CAPTCHA, OTP, payment page).
Target: From slot detection to payment page/confirmation in under 10-20 seconds (ideally closer to 5-10 sec optimized).
Include Telegram notifications for alerts (optional auto-book).
Run 24/7 on VPS/cloud or local machine.
Bypass VFS anti-bot measures (Cloudflare Turnstile, fingerprinting, rate limiting).

2. Technical Architecture (Hybrid System)Fast Scanning Layer (API Polling):
Use Python's requests or httpx library to replicate VFS API calls. Capture real API requests from browser DevTools (F12 → Network tab) while manually checking slots: Endpoints (example): POST /api/v1/appointment/availability or similar (exact from capture).
Headers: Authorization (JWT/Bearer token), CSRF token, Cookies, User-Agent, Referer, etc.
Payload: JSON with visa_center_id, visa_category_id, sub_category_id, preferred dates, etc.

Poll every 1-5 seconds for available slots.
Handle token/session refresh: Auto-login API call if expired.
Use residential proxies for low latency (<50-100 ms) and to avoid IP blocks.
On slot found: Trigger event/signal to start browser part.

Secure Confirmation Layer (Browser Automation):
Use Playwright (preferred) or Selenium with undetected-chromedriver / Surfsky for anti-detection. Pre-launch headless browser instances (chromium/webkit) with saved cookies/session for fast login.
When API detects slot: Browser navigates to VFS site, selects the detected slot, fills forms.
Integrate CAPTCHA solver: 2Captcha, Anti-Captcha, or CapSolver for Turnstile (solve time 3-15 sec average).
Human-like interactions: Random mouse movements, typing delays, scroll (built-in Playwright).
Handle OTP: If SMS, integrate Twilio/SMS API (optional).
Proceed to payment page and submit (or stop at payment for manual confirm if needed).
Error handling: Retry on failure, log issues.

Integration & Extras: Use threading/asyncio: One thread for constant API polling, another for browser actions.
Telegram Bot integration (python-telegram-bot): Send alerts on slot found / booking success / errors.
Logging: Save attempts, successes, failures.
Config file (.env or JSON): Credentials, visa centers, categories, proxy list, Telegram token, etc.
Anti-ban: Proxy rotation, random delays, multiple accounts support.
Run mode: Headless, 24/7 on VPS (e.g., AWS EC2, DigitalOcean).

3. Requirements & ToolsLanguage: Python 3.10+
Libraries: requests / httpx (API)
playwright (browser) – install with playwright install
undetected-chromedriver or Surfsky (anti-detection)
python-telegram-bot (notifications)
2captcha-python or similar (CAPTCHA)
python-dotenv (config)

Dependencies: pip install -r requirements.txt
Optional: Residential proxies (Bright Data, Smartproxy), VPS for 24/7 run.
Testing: Start with availability check only, then add browser part.