Last active
January 4, 2020 07:01
-
-
Save jongpak/5cd7c4aec6da3c92d021b4efa02acd11 to your computer and use it in GitHub Desktop.
puppeteer - single browser / multiple context
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const Puppeteer = require('puppeteer'); | |
(async function() { | |
// run chromium | |
const browser = await Puppeteer.launch({ | |
headless: false, | |
defaultViewport: { | |
isMobile: true, | |
width: 375, | |
height: 768, | |
}, | |
args: ['--window-size=375,768'] | |
}); | |
// parallel navigate | |
await Promise.all([ | |
goPage(browser, 'NEWS'), | |
goPage(browser, 'ENT'), | |
goPage(browser, 'SPORT'), | |
goPage(browser, 'SHOPPING'), | |
goPage(browser, 'MYFEED'), | |
]); | |
// close chromium (if you want to re-use previous browser, don't close() and connect to wsEndpoint) | |
await browser.close(); | |
})(); | |
/** | |
* create new context and goto page | |
* | |
* @param {Puppeteer.Browser} browser | |
*/ | |
async function goPage(browser, panel) { | |
const context = await browser.createIncognitoBrowserContext(); | |
const page = await context.newPage(); | |
await page.setCookie({name: 'MM_m', value: panel, domain: 'm.naver.com' }); | |
await page.goto('https://m.naver.com'); | |
await context.close(); | |
console.log(`${panel} crawling finish`); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment