በPuppeteer (Node.js) ውስጥ የተረጋገጠ ፕሮክሲ እንዴት ማዋቀር እንደሚቻል
Updated:
Puppeteer Chromeን እና Chromiumን በDevTools Protocol (CDP) በኩል የሚቆጣጠር ሲሆን ለHTTP 407 ፕሮክሲ ማረጋገጫ ቤተኛ የሆነ await page.authenticate({ username, password }) API ያቀርባል። --proxy-server=http://ip:portን ከpage.authenticate() ጋር ማጣመር የNode.js ስክራፐሮችዎ ያለምንም ውጫዊ የብሮውዘር ኤክስቴንሽን በVinaProxy ስታቲክ ፕሮክሲዎች በኩል እንዲያልፉ ያስችላቸዋል።
--proxy-server=http://ip:port + page.authenticate({ username, password })- 1 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
- 1 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
በPuppeteer ውስጥ የሁለት-ደረጃ ፕሮክሲ ውቅር
በፍጹም user:pass@ን በ--proxy-server ማስጀመሪያ ክርክር ውስጥ አያካትቱ። በምትኩ በማስጀመሪያው ወቅት ሆስቱን እና ፖርቱን ያስተላልፉ እንዲሁም በPage ኢንስታንስ ላይ ያረጋግጡ፦
| ደረጃ | የPuppeteer ኮድ | ለምን አስፈላጊ እንደሆነ |
|---|---|---|
| 1. Chromiumን ያስጀምሩ | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | የChromiumን ኔትወርክ ሶኬት ወደ እርስዎ VinaProxy ፕሮክሲ ያቀናል |
| 2. ገጹን ያረጋግጡ | await page.authenticate({ username, password }) | ለHTTP 407 ጥያቄዎች የCDP ማረጋገጫ መረጃዎችን ያቀርባል |
| 3. ገጽ ይክፈቱ | await page.goto(url, { waitUntil: 'domcontentloaded' }) | ዒላማ የተደረገውን ዩአርኤል በተረጋገጠው ዋሻ በኩል ይጭናል |
በproxy-chain በመጠቀም በታቦች መካከል በርካታ ፕሮክሲዎችን መቀያየር
page.authenticate()ለእያንዳንዱ የPageታብ የተገደበ መሆኑን ያስታውሱ—በbrowser.newPage()በሚመለስ እያንዳንዱ አዲስ ታብ ላይ ይጥሩት- በአንድ Chromium ሂደት ውስጥ ባሉ ኢንኮግኒቶ አውዶች የተለያዩ ፕሮክሲዎችን ለመጠቀም እያንዳንዱን
http://user:pass@ip:portዩአርኤል በproxy-chainየnpm ፓኬጅ (anonymizeProxy()) ይሸፍኑ እናproxyServerን ወደbrowser.createBrowserContext({ proxyServer })ያስተላልፉ - ከ
puppeteer-extraእናpuppeteer-extra-plugin-stealthጋር ተኳሃኝ ነው
ደረጃ በደረጃ
- 1
--proxy-server=http://ip:portን ወደ puppeteer.launch() ያስተላልፉ
ብሮውዘሩን በ
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });ያስጀምሩ። - 2
በአዲሱ ገጽ ላይ await page.authenticate()ን ይጥሩ
በ
const page = await browser.newPage();ታብ ይክፈቱ እናawait page.authenticate({ username: 'USER', password: 'PASS' });ን ይጥሩ። - 3
የመውጫውን የአይፒ አድራሻ ይሞክሩ
await page.goto('https://vinaproxy.com/api/my-ip');ን ያስኪዱ እና የተመለሰውን JSON ይመልከቱ። - 4
የብሮውዘር ሂደቶችን ያጽዱ
ሥራው ሲጠናቀቅ
await browser.close();ን ይጥሩ።
ተደጋግመው የሚጠየቁ ጥያቄዎች
Puppeteer ለምን `ERR_NO_SUPPORTED_PROXIES` ስህተት ያሳያል?
ያ ስህተት የሚከሰተው user:pass@ን በ--proxy-server=http://user:pass@ip:port ውስጥ ካካተቱ ነው። --proxy-server=http://ip:portን ንጹህ ያድርጉት እና የማረጋገጫ ምስክርነቶችን በawait page.authenticate({ username, password }) በኩል ያስተላልፉ።
በ`browser.newPage()` የተከፈተ ሁለተኛ ታብ ለምን በHTTP 407 ወደቀ?
page.authenticate() የሚሰራው ለእያንዳንዱ ታብ ነው። በማንኛውም አዲስ በተከፈተ ታብ ላይ ገጽ ከመክፈትዎ በፊት await secondPage.authenticate({ username, password })ን ይጥሩ።
የVinaProxy ፕሮክሲዎች ለheadless Chrome ስክራፒንግ ያልተገደቡ ናቸው?
አዎ። ሁሉም Dedicated IPv4 እና Static ISP ፕላኖች ያልተገደበ ወርሃዊ ባንድዊድዝ ያካትታሉ።
የNode.js Puppeteer ስብስብዎን በስታቲክ አይፒዎች ያጎልብቱ
በ7 አገሮች ውስጥ ፈጣን ያልተገደቡ Dedicated IPv4 እና Static ISP ፕሮክሲዎች።
የPuppeteer ፕሮክሲዎችን ይግዙ