Jinsi ya kusanidi proksi iliyoidhinishwa katika Puppeteer (Node.js)
Updated:
Puppeteer hudhibiti Chrome na Chromium kupitia DevTools Protocol (CDP), ikitoa API asili ya await page.authenticate({ username, password }) kwa ajili ya uthibitishaji wa proksi wa HTTP 407. Kuunganisha --proxy-server=http://ip:port na page.authenticate() kunawezesha programu zako za kukusanya data za Node.js kuelekeza trafiki kupitia proksi tuli za VinaProxy bila viendelezi vyovyote vya nje vya kivinjari.
--proxy-server=http://ip:port + page.authenticate({ username, password })- IP 1₫ 40,000
- IP 5+₫ 35,000
- IP 10+₫ 25,000
- IP 20+₫ 25,000
- IP 50+₫ 25,000
- IP 100+₫ 25,000
- IP 200+₫ 25,000
- IP 500+₫ 25,000
- IP 1000+₫ 22,000
- IP 2000+₫ 20,000
- IP 1₫ 40,000
- IP 5+₫ 35,000
- IP 10+₫ 25,000
- IP 20+₫ 25,000
- IP 50+₫ 25,000
- IP 100+₫ 25,000
- IP 200+₫ 25,000
- IP 500+₫ 25,000
- IP 1000+₫ 22,000
- IP 2000+₫ 20,000
Usanidi wa proksi wa hatua mbili katika Puppeteer
Usiwahi kupachika user:pass@ ndani ya hoja ya uzinduzi ya --proxy-server. Badala yake, pitisha seva pangishi na lango wakati wa kuzindua kisha uthibitishe kwenye mfano wa Page:
| Hatua | Msimbo wa Puppeteer | Kwa Nini Ni Muhimu |
|---|---|---|
| 1. Zindua Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Huelekeza soketi ya mtandao ya Chromium kwenye proksi yako ya VinaProxy |
| 2. Thibitisha Ukurasa | await page.authenticate({ username, password }) | Hutoa vitambulisho vya CDP kwa changamoto za HTTP 407 |
| 3. Nenda kwenye Tovuti | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Hupakia URL lengwa kupitia njia iliyoidhinishwa |
Kuzungusha proksi nyingi kwenye vichupo ukitumia proxy-chain
- Kumbuka kuwa
page.authenticate()hutumika kwa kila kichupo chaPage—iite kwenye kila kichupo kipya kinachotolewa nabrowser.newPage() - Ili kutumia proksi tofauti katika muktadha wa incognito ndani ya mchakato mmoja wa Chromium, funga kila URL ya
http://user:pass@ip:portkwa kifurushi cha npm chaproxy-chain(anonymizeProxy()) na upitisheproxyServerkwenyebrowser.createBrowserContext({ proxyServer }) - Inaoana na
puppeteer-extranapuppeteer-extra-plugin-stealth
Hatua kwa hatua
- 1
Pitisha --proxy-server=http://ip:port kwenye puppeteer.launch()
Zindua kivinjari ukitumia
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Ita await page.authenticate() kwenye ukurasa mpya
Fungua kichupo ukitumia
const page = await browser.newPage();na uiteawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Jaribu anwani ya IP ya kutokea
Endesha
await page.goto('https://vinaproxy.com/api/my-ip');na ukague JSON inayorudishwa. - 4
Safisha michakato ya kivinjari
Ita
await browser.close();kazi inapokamilika.
Maswali yanayoulizwa mara kwa mara
Kwa nini Puppeteer inaleta hitilafu ya `ERR_NO_SUPPORTED_PROXIES`?
Hitilafu hiyo hutokea ukijumuisha user:pass@ ndani ya --proxy-server=http://user:pass@ip:port. Weka --proxy-server=http://ip:port bila vitambulisho na upitishe vitambulisho kupitia await page.authenticate({ username, password }).
Kwa nini kichupo cha pili kilichofunguliwa kwa `browser.newPage()` kimeshindwa kikiwa na HTTP 407?
page.authenticate() hutumika kwa kila kichupo. Ita await secondPage.authenticate({ username, password }) kabla ya kuelekea kwenye tovuti kwenye kichupo chochote kipya kilichofunguliwa.
Je, proksi za VinaProxy hazina kikomo cha data kwa ajili ya ukusanyaji wa data kwa Chrome isiyo na kiolesura (headless)?
Ndiyo. Mipango yote ya Dedicated IPv4 na Static ISP inajumuisha data ya kila mwezi isiyo na kikomo.
Imarisha kundi lako la Node.js Puppeteer kwa IP tuli
Proksi za papo hapo zisizo na kikomo za Dedicated IPv4 na Static ISP katika nchi 7.
Nunua Proksi za Puppeteer