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+ IP-கள்₫35,000
- 10+ IP-கள்₫25,000
- 20+ IP-கள்₫25,000
- 50+ IP-கள்₫25,000
- 100+ IP-கள்₫25,000
- 200+ IP-கள்₫25,000
- 500+ IP-கள்₫25,000
- 1000+ IP-கள்₫22,000
- 2000+ IP-கள்₫20,000
- 1 IP₫40,000
- 5+ IP-கள்₫35,000
- 10+ IP-கள்₫25,000
- 20+ IP-கள்₫25,000
- 50+ IP-கள்₫25,000
- 100+ IP-கள்₫25,000
- 200+ IP-கள்₫25,000
- 500+ IP-கள்₫25,000
- 1000+ IP-கள்₫22,000
- 2000+ IP-கள்₫20,000
Puppeteer-இல் இரண்டு-படி பிராக்சி உள்ளமைவு
--proxy-server துவக்க அளவுருவிற்குள் ஒருபோதும் user:pass@-ஐ இணைக்க வேண்டாம். அதற்குப் பதிலாக, துவங்கும் போது ஹோஸ்ட் மற்றும் போர்ட்டை வழங்கி, 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' }) | அங்கீகரிக்கப்பட்ட டன்னல் வழியாக இலக்கு URL-ஐ ஏற்றுகிறது |
proxy-chain மூலம் பல தாவல்களுக்கு இடையே பிராக்சிகளை மாற்றுதல்
page.authenticate()என்பது ஒவ்வொருPageதாவலுக்கும் தனித்தனியானது என்பதை நினைவில் கொள்க—browser.newPage()வழங்கும் ஒவ்வொரு புதிய தாவலிலும் இதை அழைக்கவும்- ஒரே Chromium செயல்முறைக்குள் மறைநிலை சூழல்களில் வெவ்வேறு பிராக்சிகளைப் பயன்படுத்த, ஒவ்வொரு
http://user:pass@ip:portURL-ஐயும்proxy-chainnpm தொகுப்பைக் கொண்டு (anonymizeProxy()) ரேப் செய்து,proxyServer-ஐbrowser.createBrowserContext({ proxyServer })-க்கு அனுப்பவும் puppeteer-extraமற்றும்puppeteer-extra-plugin-stealthஆகியவற்றுடன் இணக்கமானது
படிப்படியாக
- 1
puppeteer.launch()-க்கு --proxy-server=http://ip:port-ஐ அனுப்பவும்
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
வெளியேறும் IP முகவரியைச் சோதிக்கவும்
await page.goto('https://vinaproxy.com/api/my-ip');-ஐ இயக்கி, பெறப்பட்ட JSON-ஐ ஆய்வு செய்யவும். - 4
உலாவி செயல்முறைகளை மூடவும்
வேலை முடிந்ததும்
await browser.close();-ஐ அழைக்கவும்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
Puppeteer ஏன் `ERR_NO_SUPPORTED_PROXIES` பிழையை ஏற்படுத்துகிறது?
--proxy-server=http://user:pass@ip:port-க்குள் user:pass@-ஐச் சேர்த்தால் இந்தப் பிழை ஏற்படும். --proxy-server=http://ip:port-ஐத் தெளிவாக வைத்து, நற்சான்றிதழ்களை await page.authenticate({ username, password }) வழியாக அனுப்பவும்.
`browser.newPage()` மூலம் திறக்கப்பட்ட இரண்டாவது தாவல் HTTP 407 பிழையுடன் ஏன் தோல்வியடைந்தது?
page.authenticate() ஒவ்வொரு தாவலுக்கும் தனித்தனியாகப் பொருந்தும். புதிதாகத் திறக்கப்பட்ட எந்தவொரு தாவலிலும் உலாவுவதற்கு முன்பு await secondPage.authenticate({ username, password })-ஐ அழைக்கவும்.
ஹெட்லெஸ் Chrome ஸ்கிராப்பிங்கிற்கு VinaProxy பிராக்சிகள் வரம்பற்றவையா?
ஆம். அனைத்து Dedicated IPv4 மற்றும் Static ISP திட்டங்களும் வரம்பற்ற மாதாந்திர அலைவரிசையைக் கொண்டுள்ளன.
நிலையான IP-கள் மூலம் உங்கள் Node.js Puppeteer கட்டமைப்பை மேம்படுத்துங்கள்
7 நாடுகளில் உடனடி, வரம்பற்ற Dedicated IPv4 மற்றும் Static ISP பிராக்சிகள்.
Puppeteer பிராக்சிகளை வாங்கவும்