[Puppeteer] evaluate() 페이지 데이터 추출
■ evaluate( )를 이용하여 페이지내의 데이터 가져오기
티스토리 블로그에 로그인을 하려면
로컬 스토리지의 tistoryFingerprint 값이 필요하다.
샘플로예제로 위 데이터를 가지고와 보자.
# 소스코드
evaluate_get.js |
const puppeteer = require("puppeteer"); // 사용시 인위적인 딜레이를 주기위한 함수 function delay( timeout ) { return new Promise(( resolve ) => { setTimeout( resolve, timeout ); }); } puppeteer.launch({ headless : false // 헤드리스모드의 사용여부를 묻는다. , devtools : true // 개발자 모드의 사용여부를 묻는다. }).then(async browser => { const page = await browser.newPage(); await page.goto( "https://www.tistory.com/auth/login", { waitUntil : "networkidle2" } ); await page.setRequestInterception(true); const pageGetData = await page.evaluate(() => { const jsonData = { "fingerPrint" : localStorage.getItem( "tistoryFingerprint" ) }; return jsonData; }); console.log( pageGetData.fingerPrint ); }); |
이제 실행해보면 tistoryFingerprint값을 가져올 수 있는 모습을 확인 할 수 있다.
# 출력결과
$ node evaluate_get.js |