In this Article
يشغّل Puppeteer متصفح Chrome بلا واجهة لتجريف الويب والأتمتة، إذ يعرض JavaScript ويتعامل مع عمليات تسجيل الدخول والنقرات، ويشكّل جزءا كبيرا من حزم تجريف Node.js في 2026. لكن توجيهه إلى هدف فعلي من IP واحد لمركز بيانات يؤدي سريعا إلى الحظر أو تقييد المعدل. والحل هو تمرير Puppeteer عبر بروكسيات، ويفضل أن تكون سكنية، لكي تبدو كل جلسة كمستخدم عادي. وتكمن خصوصية Puppeteer في أن Chrome لا يقبل اسم المستخدم وكلمة المرور في URL الخاص بالبروكسي، لذا تتطلب المصادقة خطوة إضافية. يوضح هذا الدليل بالتفصيل كيفية إعداد بروكسي في Puppeteer، مع شفرة عاملة، ثم يصنف أفضل 8 بروكسيات لـ Puppeteer في 2026 بحسب السعر ومعدل النجاح والتكامل.
أنا Andrii Byzov، مدير تسويق جزئي أصيل للذكاء الاصطناعي، وأدير يوميا مسارات بيانات قائمة على Puppeteer. فيما يلي إعداد جاهز للنسخ واللصق، بما فيه خطوة المصادقة التي يخطئ فيها الجميع، ونمط التدوير القابل للتوسع، والمزودون الذين يستحقون ميزانيتك، مع بروكسيات DataImpulse السكنية بسعر $1/GB كمعيار للقيمة.
حقائق أساسية
- اضبط البروكسي باستخدام راية التشغيل
--proxy-server. مررها ضمنargsإلىpuppeteer.launch()، فتسري على كل صفحة في ذلك المتصفح. - يتجاهل Chrome بيانات الاعتماد الموجودة في URL البروكسي. عند استخدام بروكسي موثّق، يجب استدعاء
page.authenticate({ username, password })قبلpage.goto()، أو تغليف البروكسي بمكتبةproxy-chainالتي تتولى المصادقة نيابة عنك. - مصادقة SOCKS5 غير مدعومة. لا يدعم Chromium، وبالتالي Puppeteer، اسم المستخدم وكلمة المرور عبر SOCKS5، لذا استخدم نقطة نهاية HTTP/HTTPS للبروكسيات السكنية الموثّقة.
- دوّر بإعادة التشغيل أو باستخدام proxy-chain. راية
--proxy-serverثابتة لكل متصفح، لذلك يعني التدوير متصفحا جديدا لكل بروكسي، أو مغلفproxy-chainمحليا موجها إلى مصدر علوي دوّار. وتمنحك بوابة سكنية دوّارة IP جديدا تلقائيا لكل اتصال. - DataImpulse هو الخيار الأفضل من حيث القيمة: سكني $1/GB بنظام الدفع حسب الاستخدام، ومركز بيانات $0.50/GB، ومحمول $2/GB، وأكثر من 90M من عناوين IP في 195 دولة، وHTTP/HTTPS/SOCKS5، واستهداف الدولة والمدينة وASN، بجزء يسير من أسعار المؤسسات لكل GB.
كيفية إعداد بروكسي في Puppeteer
هناك نموذجان موثوقان: الراية المضمنة مع page.authenticate()، أو مكتبة proxy-chain لمصادقة وتدوير أكثر سلاسة.
1. راية --proxy-server + page.authenticate()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=http://gw.dataimpulse.com:823'], // DataImpulse gateway
});
const page = await browser.newPage();
// Chrome won't take credentials in the URL — authenticate separately,
// BEFORE the first navigation:
await page.authenticate({
username: 'YOUR_LOGIN__cr.us', // __cr.us = target the US
password: 'YOUR_PASSWORD',
});
await page.goto('https://httpbin.org/ip'); // verify the egress IP
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();
})();
2. مكتبة proxy-chain (مصادقة وتدوير أكثر سلاسة)
تنشئ proxy-chain من Apify بروكسيا محليا يحتفظ ببيانات اعتمادك ويعيد التوجيه إلى البوابة العلوية، وبذلك تتجاوز page.authenticate() ويمكنك تبديل المصادر العلوية للتدوير:
const puppeteer = require('puppeteer');
const proxyChain = require('proxy-chain');
(async () => {
const upstream = 'http://YOUR_LOGIN__cr.us:[email protected]:823';
const newProxyUrl = await proxyChain.anonymizeProxy(upstream); // local, auth handled
const browser = await puppeteer.launch({ args: [`--proxy-server=${newProxyUrl}`] });
const page = await browser.newPage();
await page.goto('https://httpbin.org/ip');
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();
await proxyChain.closeAnonymizedProxy(newProxyUrl, true);
})();
3. SOCKS5 وملاحظة عن التدوير
يمكن لـ Puppeteer استخدام SOCKS5 (--proxy-server=socks5://gw.dataimpulse.com:824)، لكن Chromium لا يدعم مصادقة اسم المستخدم وكلمة المرور عبر SOCKS5، لذا خصص SOCKS5 للوصول المدرج IP في القائمة البيضاء، وأبق البروكسيات السكنية الموثّقة على نقطة نهاية HTTP/HTTPS. وبما أن --proxy-server ثابت طوال مدة المتصفح، فدوّر عبر تشغيل متصفح جديد لكل بروكسي أو بتوجيه proxy-chain إلى بوابة دوّارة تمنح IP جديدا مع كل اتصال جديد. توفر DataImpulse دليلا لبروكسي Puppeteer يتضمن الإعداد الحالي.
أفضل بروكسيات Puppeteer في لمحة
| المزود | الأفضل لـ Puppeteer | سعر السكني | البروتوكولات | ملاحظات بارزة |
|---|---|---|---|---|
| DataImpulse | أفضل قيمة، مسارات داخلية | $1/GB PAYG | HTTP/HTTPS/SOCKS5 | مجمع 90M+، دليل Puppeteer رسمي، بلا انتهاء صلاحية |
| Bright Data | المؤسسات + Scraping Browser | ~$2.50/GB ترويجي؛ $5 عادي | HTTP/HTTPS/SOCKS5 | يتصل “Scraping Browser” المستضاف عبر CDP، وWeb Unlocker |
| Oxylabs | SLA للمؤسسات | من $6/GB | HTTP/HTTPS/SOCKS5 | مجمع 175M+، وWeb Scraper API، ودليل رسمي |
| Decodo | السوق المتوسط، تغطية جغرافية كاملة | $3.75/GB للمبتدئين؛ ~$2 عند 1TB+ | HTTP/HTTPS/SOCKS5 | مجمع 115M+، وثابت حتى 24h |
| IPRoyal | جلسات ثابتة طويلة | من $7.35/GB | HTTP/HTTPS/SOCKS5 | ثابت حتى 7 أيام، ودخول PAYG منخفض التكلفة |
| SOAX | مزيج سكني ومحمول | $3.60/GB للمبتدئين | HTTP/HTTPS/SOCKS5 | 155M+ سكني، و33M+ محمول |
| Webshare | اقتصادي / خدمة ذاتية | من $3.50/mo للسكني؛ $2.99/mo لمركز البيانات | HTTP/SOCKS5 | خطة مجانية، وأرخص مركز بيانات |
| NetNut | استقرار ISP السكني | من $3.53/GB | HTTP/HTTPS | عناوين IP ثابتة لمستهلكي ISP، وتدوير سريع |

الخيارات باختصار
DataImpulse هو معيار القيمة لتجريف Puppeteer: سكني بسعر $1/GB بنظام الدفع حسب الاستخدام، ومركز بيانات $0.50/GB، ومحمول $2/GB، وأكثر من 90M من عناوين IP في 195 دولة، وHTTP/HTTPS وSOCKS5، مع استهداف الدولة والمدينة وASN عبر اسم المستخدم ودليل Puppeteer رسمي. لا تنتهي صلاحية حركة المرور، لذا لا تستهلك الاختبارات اشتراكا. الدعم بشري على مدار 24/7، ومعدل النجاح المنشور 99.51%، وتقييم G2 هو 4.8/5. وهو الخيار الافتراضي عند تشغيل مسار Puppeteer خاص بك والرغبة في أقل تكلفة لكل صفحة ناجحة.
Bright Data هو خيار المؤسسات: إلى جانب السكني (~$2.50/GB ترويجي، و$5 عادي)، يقدم Scraping Browser مستضافا تتصل به عبر CDP (puppeteer.connect({ browserWSEndpoint })) ويجمع البروكسيات ومكافحة الروبوتات، إضافة إلى Web Unlocker. ويعد Oxylabs (من $6/GB، ومجمع 175M+) خيار المؤسسات بمستوى SLA مع دليل موثق لـ Puppeteer. أما Decodo (من $3.75/GB، وثابت حتى 24h) فهو خيار متوازن للسوق المتوسط. ويناسب IPRoyal (من $7.35/GB، وثابت حتى 7 أيام) تدفقات Puppeteer الطويلة المستقرة للجلسة. ويتميز SOAX ($3.60/GB، و155M+ سكني + 33M+ محمول) عند الحاجة إلى عناوين IP محمولة. ويمثل Webshare (خطة مجانية، ومركز بيانات من $2.99/mo) مدخل الخدمة الذاتية الاقتصادي، بينما NetNut (من $3.53/GB) هو خيار استقرار ISP السكني.
البروكسيات الدوّارة والثابتة مع Puppeteer
نظامان ومهمتان. البروكسيات السكنية الدوّارة، أي IP جديد لكل اتصال، هي الخيار الافتراضي للجمع الواسع: تجريف صفحات أو قوائم أو SERPs كثيرة حيث يكون كل طلب مستقلا. ومع بوابة دوّارة تحصل تلقائيا على IP جديد؛ وللتدوير صراحة في Puppeteer، شغّل متصفحا جديدا لكل بروكسي أو وجّه proxy-chain إلى نقطة النهاية الدوّارة. أما الجلسات الثابتة، أي IP نفسه المحتفظ به من دقائق إلى أيام، فهي لازمة للتدفقات ذات الحالة: تسجيل الدخول أو التنقل في مسار متعدد الخطوات أو الاحتفاظ بسلة، إذ إن التدوير أثناء التدفق يكسر الجلسة ويثير أنظمة مكافحة الروبوتات. احتفظ بمتصفح واحد وبـ IP ثابت واحد للتدفق كاملا؛ وثبات IPRoyal حتى 7 أيام هو الأطول. تمزج معظم حزم Puppeteer بين الاثنين: التدوير للجمع ومجمع ثابت للعمل متعدد الخطوات.
أخطاء شائعة في بروكسي Puppeteer
- وضع بيانات الاعتماد في URL البروكسي. يتجاهلها Chrome، فاستخدم
page.authenticate()قبلpage.goto()أوproxy-chain. - استدعاء
page.authenticate()بعد التنقل. يجب أن يعمل قبل أولgoto، وإلا فشل الطلب برمز 407. - استخدام عناوين IP لمركز بيانات مع أهداف محمية: تتعرض للحظر بسرعة؛ استخدم السكني أو المحمول لأي هدف لديه مكافحة روبوتات فعلية.
- نسيان البصمة. يخفي البروكسي عنوان IP، لا إشارات الروبوت، لذا ادمجه مع user-agents واقعية و
puppeteer-extra-plugin-stealthكي لا يفضح Chrome بلا واجهة نفسه. - توقع عمل SOCKS5 الموثّق: لا يعمل ذلك في Chromium؛ استخدم HTTP/HTTPS لبروكسيات اسم المستخدم وكلمة المرور.
أي نوع بروكسي يناسب Puppeteer: سكني أم مركز بيانات أم محمول؟
تقابل الأنواع الثلاثة ثلاث مهام:
- السكني ($1/GB): الخيار الأساسي. عناوين IP حقيقية لمستهلكي ISP لمعظم تجريف Puppeteer: التجارة الإلكترونية وSERPs والمحتوى وكل ما يطبق مكافحة الروبوتات. إن اخترت نوعا واحدا، فاختر هذا.
- المحمول ($2/GB): عناوين IP حقيقية لمشغلي الاتصالات لأصعب الأهداف ولواجهات الويب المحمول أو داخل التطبيق. وهي فئة IP الأكثر موثوقية، لذا خصصها لنقاط النهاية التي تحظر السكني.
- مركز البيانات ($0.50/GB): الأرخص والأسرع، للطبقات غير المحمية مثل تحليل الصفحات المجمعة مسبقا أو البيانات المرجعية المفتوحة أو بنيتك التحتية الخاصة. لا توجهه إلى مواقع مثقلة بمكافحة الروبوتات.
في معظم أعمال Puppeteer، يكون النمط هو السكني للجمع والمحمول للأهداف القليلة المحمية أو الخاصة بالتطبيق فقط ومركز البيانات للعمل غير المحمي منخفض التكلفة. تقدم DataImpulse الأنواع الثلاثة في حساب واحد بنظام الدفع حسب الاستخدام، بحيث يستطيع مسار Puppeteer واحد توجيه كل متصفح إلى الفئة المناسبة.
كيفية البدء مع DataImpulse + Puppeteer
الخطوة 1. أنشئ حساب DataImpulse واحصل على بيانات اعتمادك السكنية. العرض التمهيدي $5 / 5GB لا تنتهي صلاحيته، وهو ميزانية اختبار حقيقية.
الخطوة 2. أضف --proxy-server=http://gw.dataimpulse.com:823 إلى args التشغيل، ثم استدع page.authenticate({ username: 'YOUR_LOGIN__cr.us', password: '...' }) قبل التنقل أو غلف URL الذي يتضمن بيانات الاعتماد باستخدام proxy-chain. أضف رمز دولة مثل __cr.us إلى اسم المستخدم للاستهداف الجغرافي. أبق البروكسيات الموثّقة على HTTP/HTTPS، إذ لا ينفذ Puppeteer المصادقة عبر SOCKS5.
الخطوة 3. أعد التشغيل، أو استخدم proxy-chain، للتدوير، واحتفظ بمتصفح ثابت واحد للتدفقات ذات الحالة. اجمعه مع puppeteer-extra-plugin-stealth وuser-agent واقعي. راجع دليل بروكسي Puppeteer وصفحة البروكسيات السكنية للتفاصيل.
الأسئلة الشائعة
كيف أستخدم بروكسيا في Puppeteer؟
مرر --proxy-server=http://gw.dataimpulse.com:823 ضمن مصفوفة args في puppeteer.launch(). للبروكسي الموثّق، استدع page.authenticate({ username, password }) قبل page.goto()، لأن Chrome لا يقرأ بيانات الاعتماد من URL البروكسي. وبدلا من ذلك استخدم مكتبة proxy-chain التي تحتفظ ببيانات الاعتماد في بروكسي محلي وتعيد التوجيه إلى البوابة.
ما أفضل بروكسي لـ Puppeteer؟
البروكسيات السكنية هي الأفضل لأن معظم الأهداف تحظر عناوين IP لمركز البيانات. DataImpulse بسعر $1/GB هو خيار القيمة، مع HTTP/HTTPS/SOCKS5 وأكثر من 90M من عناوين IP ودليل Puppeteer رسمي؛ ويناسب Scraping Browser المستضاف من Bright Data أو Oxylabs المؤسسات، بينما يساعد SOAX وDataImpulse المحمول ($2/GB) في واجهات التطبيقات. اجمع البروكسي دائما مع إضافة للتخفي وبصمة واقعية.
لماذا يعيد بروكسي Puppeteer الخاص بي الخطأ 407؟
يعني الخطأ 407 (يلزم توثيق البروكسي) أن البروكسي يحتاج إلى بيانات اعتماد ولم يقدمها Puppeteer، ويحدث ذلك عادة لوضْعها في URL، إذ يتجاهلها Chrome، أو لاستدعاء page.authenticate() بعد أول تنقل. استدع page.authenticate({ username, password }) مباشرة بعد newPage() وقبل page.goto()، أو استخدم proxy-chain لمعالجة المصادقة.
كيف أدوّر البروكسيات في Puppeteer؟
راية --proxy-server ثابتة لكل متصفح، لذا دوّر عبر تشغيل متصفح جديد لكل بروكسي أو بتوجيه مكتبة proxy-chain إلى بوابة دوّارة. مع بوابة سكنية دوّارة مثل DataImpulse، يحصل كل اتصال جديد على IP جديد تلقائيا، لذلك لا تحتاج غالبا إلى إدارة قائمة IP. للتدفقات ذات الحالة، احتفظ بـ IP ثابت واحد للجلسة بأكملها بدلا من التدوير.
هل يدعم Puppeteer بروكسيات SOCKS5 والبروكسيات الموثّقة؟
يدعم Puppeteer بروكسيات HTTP/HTTPS الموثّقة عبر page.authenticate() أو proxy-chain. ويمكنه استخدام SOCKS5 (--proxy-server=socks5://...)، لكن Chromium لا يدعم مصادقة اسم المستخدم وكلمة المرور عبر SOCKS5، لذا استخدم نقطة نهاية HTTP/HTTPS للبروكسيات السكنية الموثّقة وخصص SOCKS5 للوصول المدرج IP في القائمة البيضاء.
كم تبلغ تكلفة بروكسيات Puppeteer؟
يُسعّر السكني الخام لكل GB: DataImpulse بسعر $1/GB كحد أدنى للقيمة، وNetNut من $3.53، وSOAX بسعر $3.60، وDecodo بسعر $3.75، وOxylabs من $6، وIPRoyal بسعر $7.35؛ ويقدم Webshare اشتراكات اقتصادية من $3.50/mo. الصفحة المعروضة لا تمثل إلا جزءا صغيرا من GB، لذلك يكون السكني لكل GB أرخص بكثير من API المدارة لكل سجل في جمع Puppeteer كبير الحجم، بينما تناسب الخيارات المدارة أصعب الأهداف.
