بازگشت به وبلاگ

پروکسی برای پارس کردن علی‌اکسپرس: چگونه بدون مسدودیت داده‌های محصولات را جمع‌آوری کنیم

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

📅۳ بهمن ۱۴۰۴
```html

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

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

چرا AliExpress پارس کردن را مسدود می‌کند و این چگونه کار می‌کند

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

روش‌های اصلی شناسایی پارسرها:

  • فرکانس درخواست‌ها از یک IP — اگر در یک دقیقه بیش از 50 درخواست از یک آدرس بیاید، سیستم به طور خودکار کپچا را نشان می‌دهد یا IP را به مدت 30-60 دقیقه مسدود می‌کند
  • تحلیل رفتار — ربات‌ها صفحات را خیلی سریع باز می‌کنند (0.5-1 ثانیه)، موس را حرکت نمی‌دهند، اسکرول نمی‌کنند و روی عناصر رابط کاربری کلیک نمی‌کنند
  • عدم وجود کوکی‌ها — کاربران عادی هنگام بازدید از سایت کوکی‌ها را جمع‌آوری می‌کنند، پارسرها معمولاً با یک جلسه خالی کار می‌کنند
  • User-Agent مشکوک — نسخه‌های قدیمی مرورگرها، کتابخانه‌های سروری (Python-requests، curl)، عدم وجود دستگاه‌های موبایل در آمار
  • اثر انگشت مرورگر — AliExpress اثر انگشت را جمع‌آوری می‌کند: وضوح صفحه، منطقه زمانی، فونت‌های نصب شده، WebGL، Canvas. اثر انگشت مشابه از IP‌های مختلف — نشانه ربات است

وقتی سیستم فعالیت مشکوکی را شناسایی می‌کند، مسدودیت‌ها به تدریج اعمال می‌شوند: ابتدا کپچا را نشان می‌دهد، سپس مسدودیت موقتی IP به مدت 1-2 ساعت، در صورت نقض‌های مکرر — مسدودیت یک روزه یا دائمی.

مهم: AliExpress از Cloudflare و سیستم ضد ربات خود استفاده می‌کند. آنها نه تنها IP را تحلیل می‌کنند، بلکه اثر انگشت TLS (نسخه پروتکل، ترتیب رمزها) را نیز بررسی می‌کنند — حتی با پروکسی ممکن است به مسدودیت برسید اگر از کلاینت‌های HTTP قدیمی استفاده کنید.

چه نوع پروکسی‌هایی برای پارس کردن AliExpress مناسب هستند

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

نوع پروکسی سرعت ریسک مسدودیت کی استفاده کنیم
پروکسی دیتاسنتر بالا (50-150 میلی‌ثانیه) بالا پارس سریع داده‌های عمومی با چرخش مکرر IP
پروکسی‌های مسکونی متوسط (200-500 میلی‌ثانیه) پایین پارس بلندمدت، جمع‌آوری داده‌ها با احراز هویت
پروکسی‌های موبایل متوسط (300-700 میلی‌ثانیه) بسیار پایین پارس از نسخه موبایل، دور زدن مسدودیت‌های سخت

پروکسی دیتاسنتر برای پارس سریع

مناسب است وقتی که نیاز دارید حجم زیادی از داده‌ها را سریع جمع‌آوری کنید: قیمت‌های 10000+ محصول، مشخصات دسته‌ها، لیست فروشندگان. سرعت پاسخ 50-150 میلی‌ثانیه اجازه می‌دهد 5-10 درخواست در ثانیه از یک IP انجام دهید.

سناریوی استفاده: شما یک فروشگاه دراپ‌شیپینگ در Shopify دارید و باید هر روز قیمت‌های 5000 محصول از AliExpress را به‌روزرسانی کنید. یک مجموعه از 50-100 IP دیتاسنتر با چرخش هر 10-15 درخواست خریداری می‌کنید. در 2-3 ساعت تمام داده‌ها را جمع‌آوری می‌کنید، هزینه‌های پروکسی — 50-100 دلار در ماه.

معایب: AliExpress دامنه‌های IP دیتاسنتر را می‌شناسد و به آنها مشکوک است. نیاز به چرخش تهاجمی (تغییر IP هر 5-10 درخواست) و شبیه‌سازی رفتار (تاخیرهای تصادفی 2-5 ثانیه بین درخواست‌ها) دارد.

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

پروکسی‌های مسکونی دارای IP‌های کاربران واقعی هستند — ارائه‌دهندگان آنها را به اشخاص حقیقی می‌دهند. AliExpress نمی‌تواند درخواست از طریق چنین پروکسی را از درخواست یک خریدار عادی تشخیص دهد. این خطر مسدودیت‌ها را 5-10 برابر نسبت به دیتاسنترها کاهش می‌دهد.

سناریوی استفاده: شما قیمت‌های رقبای خود را برای فروشگاه خود در Ozon نظارت می‌کنید. باید هر روز 200-300 محصول را بررسی کنید و قیمت‌ها را در AliExpress و تأمین‌کنندگان روسی مقایسه کنید. از 10-20 IP مسکونی با چرخش هر 50-100 درخواست استفاده می‌کنید. پارس 30-40 دقیقه طول می‌کشد و مسدودیت‌ها ماه‌ها وجود ندارد.

مزایا: می‌توانید مدت بیشتری از یک IP استفاده کنید (100-200 درخواست به جای 10-20)، کپچاها کمتر هستند، امکان احراز هویت و کار با پنل کاربری فروشنده وجود دارد.

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

IP‌های موبایل (اپراتورهای 3G/4G/5G) بیشترین اعتماد را دارند — AliExpress نمی‌تواند زیرشبکه‌های کامل اپراتورهای موبایل را مسدود کند، زیرا این کار میلیون‌ها خریدار واقعی را مسدود می‌کند. یک IP موبایل می‌تواند توسط صدها دستگاه (NAT) استفاده شود، بنابراین حتی پارس تهاجمی نیز به عنوان فعالیت کاربران مختلف به نظر می‌رسد.

سناریوی استفاده: شما قبلاً با IP‌های مسکونی در یک منطقه خاص مسدود شده‌اید و باید به سرعت داده‌ها را برای گزارش به مشتری جمع‌آوری کنید. 2-3 پروکسی موبایل می‌گیرید و از نسخه موبایل سایت (m.aliexpress.com) پارس می‌کنید. حتی با پارس تهاجمی (1 درخواست در ثانیه) مسدودیت‌ها وجود ندارد.

معایب: 2-3 برابر گران‌تر از مسکونی‌ها، سرعت کمتر (300-700 میلی‌ثانیه تأخیر)، IP ممکن است هنگام دوباره اتصال اپراتور تغییر کند.

تنظیم چرخش IP: فرکانس تغییر و تایم‌اوت‌ها

چرخش صحیح IP — کلید پارس بلندمدت بدون مسدودیت‌ها است. تغییرات خیلی مکرر مشکوک به نظر می‌رسد و پروکسی‌ها را هدر می‌دهد، در حالی که تغییرات خیلی کم به مسدودیت‌ها منجر می‌شود.

فرکانس چرخش پیشنهادی بر اساس نوع پروکسی

نوع پروکسی درخواست‌ها به ازای 1 IP تأخیر بین درخواست‌ها زمان عمر جلسه
دیتاسنترها 5-15 درخواست 2-5 ثانیه 1-3 دقیقه
مسکونی 50-150 درخواست 3-8 ثانیه 10-30 دقیقه
موبایل 100-300 درخواست 1-3 ثانیه 30-60 دقیقه

استراتژی‌های چرخش برای وظایف مختلف

1. پارس سریع کاتالوگ (10000+ محصول در یک ساعت)

  • از یک مجموعه 100-200 IP دیتاسنتر استفاده کنید
  • چرخش هر 5-10 درخواست
  • جریان‌های موازی: 10-20 درخواست همزمان از IP‌های مختلف
  • تأخیر بین درخواست‌ها: 1-2 ثانیه (شبیه‌سازی کاربر سریع)
  • اگر روی IP کپچا دریافت کردید — آن را به مدت 2-3 ساعت از مجموعه خارج کنید

2. نظارت روزانه بر قیمت‌ها (500-1000 محصول)

  • از 10-20 IP مسکونی استفاده کنید
  • چرخش هر 50-100 درخواست
  • درخواست‌های متوالی با تأخیر 3-5 ثانیه
  • کوکی‌ها را بین درخواست‌ها از یک IP ذخیره کنید
  • رفتار را شبیه‌سازی کنید: گاهی صفحه اصلی و دسته‌ها را باز کنید

3. پارس با احراز هویت (پنل کاربری فروشنده)

  • یک IP مسکونی یا موبایل برای هر حساب
  • بدون چرخش در طول جلسه (30-60 دقیقه)
  • تأخیر 5-10 ثانیه بین درخواست‌ها
  • شبیه‌سازی کامل مرورگر: ذخیره کوکی‌ها، localStorage، اثر انگشت

نکته: تصادفی بودن را به تأخیرها اضافه کنید. به جای 3 ثانیه ثابت، از بازه 2-5 ثانیه استفاده کنید. این کار الگوی درخواست‌ها را برای سیستم‌های ضد ربات کمتر قابل پیش‌بینی می‌کند.

دور زدن سیستم‌های ضد ربات: User-Agent، کوکی‌ها و اثر انگشت

تغییر IP تنها بخشی از مشکل را حل می‌کند. AliExpress ده‌ها پارامتر درخواست و رفتار را تحلیل می‌کند تا ربات را از انسان تشخیص دهد. بررسی می‌کنیم که چه چیزهایی باید علاوه بر پروکسی تنظیم شود.

User-Agent و هدرهای HTTP

User-Agent به سرور می‌گوید که کدام مرورگر و سیستم‌عامل درخواست را ارسال می‌کند. پارسرها معمولاً از مقادیر پیش‌فرض کتابخانه‌ها (Python-requests/2.28.0) استفاده می‌کنند که به سرعت شناسایی می‌شوند.

تنظیم صحیح User-Agent:

  • از نسخه‌های به‌روز مرورگرهای محبوب استفاده کنید: Chrome 120+، Firefox 121+، Safari 17+
  • User-Agent را هنگام چرخش IP تغییر دهید — یک IP نباید مرورگرهای مختلف را نشان دهد
  • User-Agent‌های موبایل را به نسبت 40-50% اضافه کنید (نصف ترافیک AliExpress — دستگاه‌های موبایل هستند)
  • تمام مجموعه هدرها را از یک مرورگر واقعی کپی کنید: Accept، Accept-Language، Accept-Encoding، Connection، Upgrade-Insecure-Requests

مثال هدرهای صحیح برای دسکتاپ:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

مثال برای دستگاه موبایل:

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br

کار با کوکی‌ها و جلسات

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

کار صحیح با کوکی‌ها:

  • قبل از پارس کردن، صفحه اصلی را باز کنید و تمام کوکی‌ها را ذخیره کنید
  • از این کوکی‌ها برای تمام درخواست‌های بعدی از همان IP استفاده کنید
  • هنگام تغییر IP — یک جلسه جدید با کوکی‌های جدید آغاز کنید
  • کوکی‌ها را بین اجرای پارسر ذخیره کنید — این کار کاربر بازگشتی را شبیه‌سازی می‌کند
  • کوکی‌ها را هر 1-2 ساعت به‌روزرسانی کنید (صفحه اصلی را دوباره باز کنید)

اثر انگشت مرورگر و اثر انگشت TLS

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

چه چیزهایی در اثر انگشت مرورگر وجود دارد:

  • وضوح صفحه و عمق رنگ
  • منطقه زمانی و زبان سیستم
  • لیست فونت‌های نصب شده
  • اثر انگشت WebGL و Canvas (روش منحصر به فرد رندر گرافیک)
  • زمینه صوتی (اثر انگشت AudioContext)
  • لیست پلاگین‌های مرورگر
  • پشتیبانی از WebRTC، Battery API و سایر API‌های مدرن

کتابخانه‌های HTTP ساده (requests، axios، curl) این پارامترها را ندارند — آنها در سطح پروتکل بدون رندر کار می‌کنند. برای پارس جدی به ابزارهایی با مرورگر کامل نیاز دارید.

راه‌حل‌هایی برای شبیه‌سازی مرورگر:

  • Selenium + undetected-chromedriver — Chrome واقعی را با تغییراتی برای دور زدن شناسایی راه‌اندازی می‌کند
  • Puppeteer + puppeteer-extra-plugin-stealth — کتابخانه Node.js با پلاگین‌هایی برای پنهان کردن خودکارسازی
  • Playwright — جایگزین مدرن Selenium با عملکرد بهتر
  • مرورگرهای ضد شناسایی — Dolphin Anty، AdsPower، Multilogin (برای کار از طریق رابط)

مهم: اثر انگشت TLS (اثر انگشت اتصال SSL) نیز تحلیل می‌شود. نسخه‌های قدیمی Python و Node.js از مجموعه‌های رمزگذاری قدیمی استفاده می‌کنند که ربات را نشان می‌دهد. از نسخه‌های به‌روز کتابخانه‌ها یا curl_cffi برای شبیه‌سازی مرورگرهای مدرن استفاده کنید.

ابزارهای آماده برای پارس کردن AliExpress

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

سرویس‌های تجاری با API

1. ScraperAPI (scrape.do، scrapingbee.com)

سرویس‌های ابری که تمام کار با پروکسی و دور زدن حفاظت را بر عهده می‌گیرند. شما URL محصول AliExpress را به آنها ارسال می‌کنید و آنها HTML یا JSON با داده‌ها را برمی‌گردانند.

  • مزایا: نیازی به پروکسی‌های خودتان نیست، دور زدن خودکار کپچا، پارسرهای آماده برای سایت‌های محبوب
  • معایب: در حجم‌های بالا گران است (از 50 دلار برای 100K درخواست)، وابستگی به سرویس‌های خارجی
  • کی استفاده کنیم: وظایف یک‌باره، پروتوتایپ‌سازی، حجم‌های کوچک (تا 10K محصول در ماه)

2. Bright Data (luminati.io)

بزرگ‌ترین ارائه‌دهنده پروکسی با ابزارهای خود برای پارس کردن. آنها نه تنها پروکسی ارائه می‌دهند، بلکه دیتاست‌های آماده با AliExpress (پایگاه‌های به‌روزرسانی شده محصولات) نیز دارند.

  • مزایا: مجموعه بزرگ IP (72+ میلیون مسکونی)، زیرساخت برای مشتریان Enterprise
  • معایب: بسیار گران (از 500 دلار در ماه)، تعرفه‌گذاری پیچیده
  • کی استفاده کنیم: کسب‌وکار بزرگ با بودجه، پارس مداوم حجم‌های بزرگ

راه‌حل‌های Open-source

1. Scrapy + scrapy-rotating-proxies

فریم‌ورک محبوب برای پارس کردن با Python. از درخواست‌های غیرهمزمان، چرخش خودکار پروکسی، صادرات به CSV/JSON/پایگاه داده پشتیبانی می‌کند.

مثال تنظیم پروکسی در Scrapy:

# settings.py
ROTATING_PROXY_LIST = [
    'http://user:pass@proxy1.example.com:8000',
    'http://user:pass@proxy2.example.com:8000',
    'http://user:pass@proxy3.example.com:8000',
]

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90,
    'scrapy_rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'scrapy_rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

# تنظیمات برای دور زدن مسدودیت
ROTATING_PROXY_PAGE_RETRY_TIMES = 5
ROTATING_PROXY_BACKOFF_BASE = 300  # زمان مسدودیت پروکسی به ثانیه

2. Puppeteer + puppeteer-extra-plugin-stealth

برای سایت‌هایی با حفاظت تهاجمی (مانند AliExpress) به یک مرورگر کامل نیاز دارید. Puppeteer Chrome را از طریق پروتکل DevTools کنترل می‌کند و پلاگین stealth نشانه‌های خودکارسازی را پنهان می‌کند.

// parser.js
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');

puppeteer.use(StealthPlugin());

(async () => {
  const browser = await puppeteer.launch({
    args: [
      '--proxy-server=http://proxy.example.com:8000',
      '--no-sandbox',
      '--disable-setuid-sandbox'
    ]
  });

  const page = await browser.newPage();
  
  // احراز هویت پروکسی
  await page.authenticate({
    username: 'user',
    password: 'pass'
  });

  // تنظیم viewport واقعی
  await page.setViewport({
    width: 1920,
    height: 1080,
    deviceScaleFactor: 1
  });

  // پارس محصول
  await page.goto('https://www.aliexpress.com/item/1234567890.html', {
    waitUntil: 'networkidle2'
  });

  const productData = await page.evaluate(() => {
    return {
      title: document.querySelector('.product-title-text')?.innerText,
      price: document.querySelector('.product-price-value')?.innerText,
      rating: document.querySelector('.overview-rating-average')?.innerText
    };
  });

  console.log(productData);
  await browser.close();
})();

برنامه‌های دسکتاپ برای کاربران غیرتکنیکی

1. Octoparse

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

  • مزایا: نیازی به برنامه‌نویسی نیست، با محتوای دینامیک کار می‌کند، نسخه ابری برای کار در پس‌زمینه
  • معایب: محدودیت‌ها در نسخه رایگان (10K خط در ماه)، گاهی با حفاظت‌های پیچیده مشکل دارد
  • قیمت: از 75 دلار در ماه برای طرح استاندارد

2. ParseHub

مشابه Octoparse با رابط کاربری ساده‌تر. به خوبی با AliExpress کار می‌کند به دلیل الگوهای داخلی برای سایت‌های محبوب.

  • مزایا: طرح رایگان برای 200 صفحه، تنظیم پروکسی ساده
  • معایب: کارایی کند در نسخه رایگان، عدم وجود ویژگی‌های پیشرفته (API، webhookها)

هدف‌گذاری جغرافیایی: چگونه قیمت‌ها را برای کشورهای مختلف پارس کنیم

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

چگونه AliExpress کشور کاربر را تشخیص می‌دهد

پلتفرم از چندین منبع داده استفاده می‌کند:

  • آدرس IP — روش اصلی، کشور را بر اساس جغرافیایی IP تعیین می‌کند
  • کوکی‌ها — کشور انتخاب شده را در aep_usuc_f ذخیره می‌کند (می‌توان آن را تغییر داد)
  • هدر Accept-Language — زبان مرورگر، اما عامل تعیین‌کننده نیست
  • ارز در URL — پارامترهای ?currency=USD یا زیر دامنه‌ها (ru.aliexpress.com)

برای پارس مطمئن قیمت‌ها در یک کشور خاص، باید از پروکسی‌هایی از آن منطقه استفاده کنید. تغییر تنها کوکی‌ها همیشه کار نمی‌کند — AliExpress به جغرافیای IP اولویت می‌دهد.

مناطق محبوب برای پارس کردن و ویژگی‌های آنها

کشور ویژگی‌های قیمت‌ها چرا پارس کنیم
ایالات متحده قیمت‌ها به دلار آمریکا، معمولاً پایین‌تر از اروپا دراپ‌شیپینگ در ایالات متحده، مقایسه با Amazon
روسیه قیمت‌ها به روبل، توجه به عوارض و مالیات بر ارزش افزوده مقایسه با Wildberries، Ozon
آلمان قیمت‌ها به یورو، تحویل سریع از انبارهای اتحادیه اروپا دراپ‌شیپینگ در اروپا، eBay.de
برزیل قیمت‌های بالا به دلیل عوارض، اما تقاضای زیاد تجارت الکترونیک محلی (Mercado Livre)

تنظیم هدف‌گذاری جغرافیایی از طریق پروکسی

بیشتر ارائه‌دهندگان پروکسی‌های مسکونی و موبایل به شما اجازه می‌دهند که کشور (و حتی شهر) را از طریق پارامترهای اتصال یا API انتخاب کنید.

مثال انتخاب کشور از طریق نام کاربری پروکسی:

# فرمت: username-country-code_کشور
proxy_us = "http://username-country-us:password@gate.example.com:8000"
proxy_de = "http://username-country-de:password@gate.example.com:8000"
proxy_br = "http://username-country-br:password@gate.example.com:8000"

# پارس قیمت برای ایالات متحده
response_us = requests.get(
    "https://www.aliexpress.com/item/1234567890.html",
    proxies={"http": proxy_us, "https": proxy_us}
)

# پارس قیمت برای آلمان
response_de = requests.get(
    "https://www.aliexpress.com/item/1234567890.html",
    proxies={"http": proxy_de, "https": proxy_de}
)

علاوه بر این، هدرها را برای منطقه تنظیم کنید:

  • Accept-Language: en-US برای ایالات متحده، de-DE برای آلمان، pt-BR برای برزیل
  • از زیر دامنه مناسب استفاده کنید: ru.aliexpress.com برای روسیه، de.aliexpress.com برای آلمان
  • ارز را در پاسخ بررسی کنید — اگر ارز نادرست را مشاهده کردید، به این معنی است که هدف‌گذاری جغرافیایی کار نکرده است

اشتباهات رایج در پارس کردن و چگونه از آنها جلوگیری کنیم

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

اشتباه 1: پارس تهاجمی بیش از حد

مشکل: پارسر 100 درخواست در دقیقه از یک IP انجام می‌دهد و سعی می‌کند داده‌ها را سریع‌تر جمع‌آوری کند. AliExpress این را به عنوان حمله DDoS شناسایی می‌کند و IP را مسدود می‌کند.

راه‌حل: تأخیرها و محدودیت در تعداد درخواست‌ها را اضافه کنید. برای پروکسی‌های مسکونی، سرعت ایمن — 10-20 درخواست در دقیقه از یک IP (1 درخواست در 3-6 ثانیه) است. بهتر است مدت بیشتری پارس کنید تا اینکه پروکسی‌ها را از دست بدهید.

اشتباه 2: نادیده گرفتن کپچا و خطاها

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

راه‌حل: پاسخ سرور را قبل از پارس کردن بررسی کنید. اگر در HTML کلمات "captcha"، "Access Denied" یا کد پاسخ 403/429 وجود دارد — استفاده از این IP را به مدت 1-2 ساعت متوقف کنید.

def is_blocked(html):
    blocked_keywords = ['captcha', 'access denied', 'too many requests']
    return any(keyword in html.lower() for keyword in blocked_keywords)

response = requests.get(url, proxies=proxy)
if is_blocked(response.text):
    print(f"پروکسی {proxy} مسدود شده است، در حال تغییر...")
    # پروکسی را به مدت 2 ساعت از مجموعه خارج کنید
    blocked_proxies[proxy] = time.time() + 7200
    continue

اشتباه 3: پارس داده‌های قدیمی

مشکل: AliExpress صفحات را از طریق CDN (Cloudflare) کش می‌کند. پارسر داده‌های 2-3 ساعته به جای قیمت‌های به‌روز دریافت می‌کند.

راه‌حل: یک پارامتر تصادفی به URL اضافه کنید تا از کش عبور کنید، یا از هدر Cache-Control: no-cache استفاده کنید.

import random
import time

# افزودن timestamp به URL برای دور زدن کش
url = f"https://www.aliexpress.com/item/1234567890.html?_t={int(time.time())}"

# یا از هدر استفاده کنید
headers = {
    'Cache-Control': 'no-cache',
    'Pragma': 'no-cache'
}

اشتباه 4: عدم پردازش صحیح محتوای دینامیک

مشکل: قیمت‌ها و مشخصات محصولات در AliExpress از طریق JavaScript پس از بارگذاری صفحه بارگذاری می‌شوند. یک درخواست HTTP ساده یک الگوی HTML خالی بدون داده‌ها دریافت می‌کند.

راه‌حل: از مرورگر headless (Selenium، Puppeteer، Playwright) استفاده کنید که JavaScript را اجرا می‌کند و منتظر بارگذاری کامل محتوا می‌ماند. یا یک endpoint API پیدا کنید که داده‌ها را به صورت JSON برمی‌گرداند — اغلب این endpoint از طریق DevTools در Network قابل دسترسی است.

اشتباه 5: عدم وجود لاگ‌گیری و نظارت

مشکل: پارسر یک هفته کار می‌کند، داده‌ها را جمع‌آوری می‌کند، اما هیچ‌کس کیفیت را بررسی نمی‌کند. متوجه می‌شود که 30% رکوردها خالی هستند به دلیل تغییرات در ساختار سایت.

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

چک‌لیست قبل از راه‌اندازی پارسر:
✅ تأخیرها بین درخواست‌ها تنظیم شده‌اند (3-8 ثانیه برای پروکسی‌های مسکونی)
✅ چرخش IP کار می‌کند (بیش از 50-100 درخواست برای یک IP نیست)
✅ User-Agent به‌روز و همراه با IP تغییر می‌کند
✅ کوکی‌ها ذخیره و دوباره استفاده می‌شوند
✅ بررسی برای کپچا و مسدودیت‌ها وجود دارد
✅ لاگ‌گیری و نظارت تنظیم شده‌اند
✅ راه‌اندازی آزمایشی بر روی 100 محصول با موفقیت انجام شده است

نتیجه‌گیری

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

برای اکثر وظایف (نظارت بر قیمت‌های رقبای، جمع‌آوری کاتالوگ‌ها برای دراپ‌شیپینگ، تحلیل روندها) انتخاب بهینه — پروکسی‌های مسکونی با چرخش هر 50-100 درخواست است. آنها تعادل بین سرعت کار و سطح اعتماد از طرف AliExpress را فراهم می‌کنند. اگر بودجه محدود است و به سرعت بالا نیاز دارید — با پروکسی‌های دیتاسنتر شروع کنید، اما آماده مسدودیت‌های بیشتر و نیاز به چرخش تهاجمی باشید.

به یاد داشته باشید: کیفیت پروکسی مهم‌تر از تعداد آنهاست. 10 IP مسکونی با کیفیت بالا با تنظیم صحیح نتیجه بهتری نسبت به 100 پروکسی دیتاسنتر ارزان با درصد بالای مسدودیت‌ها خواهند داد. زمان خود را برای تنظیم شبیه‌سازی مرورگر، لاگ‌گیری و نظارت سرمایه‌گذاری کنید — این کار با کارکرد پایدار پارسر بدون مشکلات مداوم با کپچاها و مسدودیت‌ها جبران خواهد شد.

```