Puppeteer: 프록시를 사용하여 페이지 탐색
위키피디아에 따르면,
In computer networks, a proxy server is a server (a computer system or an application) that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server and the proxy server evaluates the request as a way to simplify and control its complexity. Proxies were invented to add structure and encapsulation to distributed systems.
Puppetter에서는 인터넷에서 페이지를 탐색할 때 프록시를 사용할 수 있습니다. SOCKS4, SOCKS5 및 HTTP 프록시와 같은 여러 프록시 샘플을 사용하겠습니다.
시작하자.
준비
꼭두각시 설치
npm i puppeteer
프록시 샘플도 필요합니다. 이를 위해 https://hidemy.name/en/proxy-list/의 무료 프록시 목록을 사용하고 거기에서 여러 프록시를 선택할 수 있습니다.
코드
우리는 캄보디아에서 SOCKS4 프록시와 이 프록시의 IP 위치를 사용할 것입니다. 프록시 IP 주소 96.9.77.192 및 포트 55796. 예제를 시도할 때 프록시 주소가 계속 작동하기를 바랍니다.
파일
proxy_with_puppeteer.js
const puppeteer = require('puppeteer');
(async () => {
// set some options (set headless to false so we can see
// this automated browsing experience)
let launchOptions = { headless: false,
args: ['--start-maximized',
'--proxy-server=socks4://96.9.77.192:55796'] // this is where we set the proxy
};
const browser = await puppeteer.launch(launchOptions);
const page = await browser.newPage();
// set viewport and user agent (just in case for nice viewing)
await page.setViewport({width: 1366, height: 768});
await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36');
// go to whatismycountry.com to see if proxy works (based on geography location)
await page.goto('https://whatismycountry.com');
// close the browser
// await browser.close();
})();
그것을 실행
node proxy_with_puppeteer.js
웹사이트https://whatismycountry.com가 열리며 아래와 같이 표시됩니다.
좋은데, 프록시가 작동한다는 의미입니다.
SOCKS5 프록시는 어떻습니까? 간단합니다. 프록시를 설정하는 코드를 아래와 같이 변경하면 됩니다.
'--proxy-server=socks5://PROXY_IP_ADDRESS:PROXY_PORT'
HTTP 또는 HTTPS 프록시의 경우 아래와 같이 할 수 있습니다.
'--proxy-server=PROXY_IP_ADDRESS:PROXY_PORT'
프록시에 인증이 필요한 경우 이 코드를 추가하여 인증을 지원할 수 있습니다.
page.goto()
부분 앞에 두십시오. // set the proxy credential
await page.authenticate({'username': 'YOUR_USERNAME', 'password': 'YOUR_PASSWORD'});
그게 다야.
https://smartproxy.com , http://stormproxies.com 또는 https://luminati.io 등과 같은 저렴한 프록시 서비스를 사용하여 많은 고품질 프록시를 얻을 수 있습니다. 선택은 당신의 것입니다.
감사합니다. 즐기시기 바랍니다.
참조
Reference
이 문제에 관하여(Puppeteer: 프록시를 사용하여 페이지 탐색), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sonyarianto/practical-puppeteer-using-proxy-to-browse-a-page-1m82텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)