[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 











Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기