Yadda ake saita proxy mai tantancewa a Puppeteer (Node.js)
Updated:
Puppeteer yana sarrafa Chrome da Chromium ta hanyar DevTools Protocol (CDP), yana ba da API na asali na await page.authenticate({ username, password }) don tantancewar proxy ta HTTP 407. Haɗa --proxy-server=http://ip:port tare da page.authenticate() yana ba wa scrapers ɗinka na Node.js damar bi ta tsayayyun proxies na VinaProxy ba tare da wani ƙarin tsawo na burauza ba.
--proxy-server=http://ip:port + page.authenticate({ username, password })- IP 1₫ 40,000
- IPs 5+₫ 35,000
- IPs 10+₫ 25,000
- IPs 20+₫ 25,000
- IPs 50+₫ 25,000
- IPs 100+₫ 25,000
- IPs 200+₫ 25,000
- IPs 500+₫ 25,000
- IPs 1000+₫ 22,000
- IPs 2000+₫ 20,000
- IP 1₫ 40,000
- IPs 5+₫ 35,000
- IPs 10+₫ 25,000
- IPs 20+₫ 25,000
- IPs 50+₫ 25,000
- IPs 100+₫ 25,000
- IPs 200+₫ 25,000
- IPs 500+₫ 25,000
- IPs 1000+₫ 22,000
- IPs 2000+₫ 20,000
Matakai biyu na saita proxy a Puppeteer
Kada ka taɓa saka user:pass@ a cikin hujjar ƙaddamarwa ta --proxy-server. Maimakon haka, shigar da host da port yayin ƙaddamarwa sannan ka yi tantancewa a kan misalin Page:
| Mataki | Lambar Puppeteer | Dalilin da Ya Sa Yake da Muhimmanci |
|---|---|---|
| 1. Ƙaddamar da Chromium | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Yana nuna socket ɗin hanyar sadarwa ta Chromium zuwa ga proxy ɗinka na VinaProxy |
| 2. Tantance Page | await page.authenticate({ username, password }) | Yana ba da shaidar shiga ta CDP don ƙalubalen HTTP 407 |
| 3. Kewaya | await page.goto(url, { waitUntil: 'domcontentloaded' }) | Yana loda URL ɗin da aka nufa ta cikin ramin sadarwa da aka tantance |
Juya proxies da yawa a cikin shafuka ta amfani da proxy-chain
- Ka tuna cewa
page.authenticate()yana aiki ne a kowane shafinPagekawai—kira shi a kowane sabon shafi dabrowser.newPage()ya dawo da shi - Don amfani da proxies daban-daban a cikin yanayin incognito a cikin aikin Chromium guda ɗaya, lulluɓe kowane URL na
http://user:pass@ip:porttare da kunshin npm naproxy-chain(anonymizeProxy()) sannan ka mikaproxyServerzuwabrowser.createBrowserContext({ proxyServer }) - Yana aiki da
puppeteer-extradapuppeteer-extra-plugin-stealth
Mataki-mataki
- 1
Mika --proxy-server=http://ip:port zuwa puppeteer.launch()
Ƙaddamar da burauzar tare da
const browser = await puppeteer.launch({ args: ['--proxy-server=http://ip:port'] });. - 2
Kira await page.authenticate() a kan sabon shafin
Buɗe shafi tare da
const page = await browser.newPage();sannan ka kiraawait page.authenticate({ username: 'USER', password: 'PASS' });. - 3
Gwada adireshin IP na fita
Gudanar da
await page.goto('https://vinaproxy.com/api/my-ip');sannan ka duba JSON ɗin da ya dawo. - 4
Rufe ayyukan burauza
Kira
await browser.close();idan aikin ya kammala.
Tambayoyin da aka fi yi
Me ya sa Puppeteer yake fitar da `ERR_NO_SUPPORTED_PROXIES`?
Wannan kuskuren yana faruwa ne idan ka saka user:pass@ a cikin --proxy-server=http://user:pass@ip:port. Ajiye --proxy-server=http://ip:port a tsaftace sannan ka shigar da bayanan shiga ta hanyar await page.authenticate({ username, password }).
Me ya sa shafi na biyu da aka buɗe da `browser.newPage()` ya kasa tare da kuskuren HTTP 407?
page.authenticate() yana aiki ne a kowane shafi daban. Kira await secondPage.authenticate({ username, password }) kafin ka shiga kowane sabon shafin da aka buɗe.
Shin proxies na VinaProxy ba su da iyaka don aikin scraping a headless Chrome?
E. Duk tsare-tsaren Dedicated IPv4 da Static ISP sun haɗa da bandwidth na kowane wata mara iyaka.
Ƙarfafa rukunin Node.js Puppeteer ɗinka da tsayayyun adiresoshin IP
Tsayayyun proxies na Dedicated IPv4 da Static ISP marasa iyaka nan take a cikin ƙasashe 7.
Sayi Proxies na Puppeteer