[Puppeteer] evaluate() 페이지 데이터 추출[Puppeteer] evaluate() 페이지 데이터 추출
Posted at 2020. 5. 27. 13:54 | Posted in Node.js/Puppeteer■ 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 |
'Node.js > Puppeteer' 카테고리의 다른 글
[Puppeteer] 퍼펫티어를 이용해 File Upload 하기 (0) | 2020.05.29 |
---|---|
[Puppeteer] 퍼펫티어 setViewport()를 사용한 창 크기 조절 (0) | 2020.05.29 |
[Puppeteer] evaluate() 함수에 변수 전달하기 (0) | 2019.09.30 |
[Puppeteer] Cheerio 모듈을 활용한 데이터 스크랩핑 (0) | 2019.06.20 |
[Puppeteer] 페이지 클릭 및 입력 이벤트 (0) | 2019.05.10 |