Puppeteer (Node.js) හි සත්යාපිත ප්රොක්සියක් සකසන්නේ කෙසේද
Updated:
Puppeteer විසින් DevTools Protocol (CDP) හරහා Chrome සහ Chromium පාලනය කරන අතර, HTTP 407 ප්රොක්සි සත්යාපනය සඳහා ස්වදේශීය await page.authenticate({ username, password }) API එකක් සපයයි. --proxy-server=http://ip:port සමඟ page.authenticate() භාවිත කිරීමෙන් කිසිදු බාහිර බ්රවුසර දිගුවක් නොමැතිව ඔබගේ Node.js scrapers VinaProxy ස්ථිතික ප්රොක්සි හරහා මෙහෙයවීමට ඉඩ සලසයි.
--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
Puppeteer හි පියවර දෙකක ප්රොක්සි වින්යාසය
කිසිවිටකත් --proxy-server දියත් කිරීමේ argument එක තුළ user:pass@ ඇතුළත් නොකරන්න. ඒ වෙනුවට, දියත් කිරීමේදී host සහ port ලබා දී Page instance එක මත සත්යාපනය කරන්න:
| පියවර | Puppeteer කේතය | එය වැදගත් වන්නේ ඇයි |
|---|---|---|
| 1. Chromium දියත් කරන්න | puppeteer.launch({ args: ['--proxy-server=http://ip:port'] }) | Chromium හි ජාල socket එක ඔබේ VinaProxy ප්රොක්සිය වෙත යොමු කරයි |
| 2. Page සත්යාපනය කරන්න | await page.authenticate({ username, password }) | HTTP 407 අභියෝග සඳහා CDP අක්තපත්ර සපයයි |
| 3. පිටුවට පිවිසෙන්න | await page.goto(url, { waitUntil: 'domcontentloaded' }) | සත්යාපිත tunnel එක හරහා ඉලක්කගත URL එක පූරණය කරයි |
proxy-chain මඟින් ටැබ් හරහා බහු ප්රොක්සි rotate කිරීම
page.authenticate()ක්රියාත්මක වන්නේ එක් එක්Pageටැබ් එක සඳහා පමණක් බව මතක තබා ගන්න—browser.newPage()මඟින් ලබා දෙන සෑම නව ටැබ් එකකදීම එය අමතන්න- තනි Chromium ක්රියාවලියක් තුළ incognito contexts හරහා විවිධ ප්රොක්සි භාවිත කිරීමට, සෑම
http://user:pass@ip:portURL එකක්මproxy-chainnpm පැකේජය (anonymizeProxy()) සමඟ ආවරණය කරbrowser.createBrowserContext({ proxyServer })වෙත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 }) අමතන්න.
headless Chrome scraping සඳහා VinaProxy ප්රොක්සි අසීමිතද?
ඔව්. සියලුම Dedicated IPv4 සහ Static ISP සැලසුම් සඳහා අසීමිත මාසික bandwidth ඇතුළත් වේ.
ස්ථිතික IP මඟින් ඔබගේ Node.js Puppeteer පද්ධතිය බලගන්වන්න
රටවල් 7ක් පුරා ක්ෂණික, අසීමිත Dedicated IPv4 සහ Static ISP ප්රොක්සි.
Puppeteer ප්රොක්සි මිලදී ගන්න