인프런 커뮤니티 질문&답변

오디님의 프로필 이미지
오디

작성한 질문수

Node.js로 웹 크롤링하기

6-2. 프록시 ip 적용하기

인터넷 연결이 안돼요 선생님

작성

·

321

0

선생님, proxy 정보를 가져오는거까진 잘되는데, 해당 프록시로 접속하면 인터넷이 되질 않아요

# 가져온 프록시 데이터 

# 프록시 이용하여 브라우저 열기

let proxies = await page.evaluate((proxyClass) => {
			const ips = Array.from(document.querySelectorAll(proxyClass.ip)).map(ip => ip.textContent.replace(/document\.write\(.+\)/, ''));
			const types = Array.from(document.querySelectorAll(proxyClass.type)).slice(5).map(type => type.textContent);
			const speeds = Array.from(document.querySelectorAll(proxyClass.speed)).map(speed => parseFloat(speed.textContent));
			
			return ips.map((ip, index) => {
				return {
					ip: ip,
					type: types[index],
					speed: speeds[index]
				}
			});
		}, proxyClass);
		
		proxies = proxies.filter(proxy => proxy.type.startsWith('HTTP')).sort((a,b) => a.speed - b.speed);
		
		await page.close();
		await browser.close();
		
		console.log(proxies[0]);
		console.log(proxies);
		
		browser = await puppeteer.launch({
			headless: headless,
			args: ["--window-size=1920,1080", '--disable-notifications', "--no-sandbox", `--proxy-server=${proxies[0].ip}`, "--ignore-certificate-errors"]
		});
		
		page = await browser.newPage();
		
		await page.waitFor(1000000);

# 브라우저를 열고 검색한 결과

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

프록시 주소가 실제로 동작하는 주소인지 체크해보아야 하고(가끔씩 저 리스트에 있어도 안 되는 주소도 존재합니다) 네이버에서 저 주소로 접근하는 것을 막은 것은 아닌지 체크해보아야 합니다.

오디님의 프로필 이미지
오디

작성한 질문수

질문하기