728x90
반응형
관련 포스트
- HTML Crawling
developing-move.tistory.com/174
- ScreenShot Crawling
developing-move.tistory.com/173
Crawling 마지막으로 원하는 웹 페이지를 pdf로 변환하여 저장하는 것이다.
예시소스
const puppeteer = require('puppeteer');
// puppeteer를 활용한 코드는 모두 비동기 코드로 이루어진다.
const main = async () => {
// puppeteer 실행
const browser = await puppeteer.launch();
// 새로운 페이지를 만듦
const page = await browser.newPage();
// pdf 파일을 생성하고자 하는 페이지로 이동
// (추가옵션) 해당 웹사이트에 접속하여 로드 되는 시간이 무한정 걸릴 수도 있고
// 해당 서버나 네트워크에 문제가 있어 시간이 많이 소요될 수도 있다
// 네트워크 환경이나 기타 외부적인 환경 등으로 문제가 생겼을 때 언제까지 기다릴 것인지를 지정하는 것
// networkidle2는 네트워크 상태가 여유가 있는 상태가 될 때까지만 기다린다.
await page.goto('https://developing-move.tistory.com/category/JavaScript/Node?page=4', {waitUntil : 'networkidle2'});
// pdf 파일을 만듦
await page.pdf({path : 'myBlog.pdf', format : 'A4'});
// 메모리 누수 방지
await browser.close();
}
main();
해당 경로로 이동하여 파일 실행
goto() 부분을 구글로 변경하고 파일 이름을 google.pdf로 변경했을 때
728x90
반응형
'Javascript > Node' 카테고리의 다른 글
[Node] Crawling puppeteer를 활용하여 웹 페이지의 데이터를 Crawling하기 (0) | 2020.10.13 |
---|---|
[Node] Crawling puppeteer 활용하여 웹페이지에 스크린샷을 자동으로 생성하기 (0) | 2020.10.13 |
[Node] Class 활용하여 express 선언하기 (0) | 2020.10.13 |
[Node] Prototype vs Class 차이점 알아보기 (0) | 2020.10.13 |
[Node] http 모듈 이용하여 서버 구축하기 (0) | 2020.10.13 |