Puppeteer 템플릿
헤드리스 크롬으로 스크래핑 할 수있는 Puppeteer
먼저 소감을 쓰면 완벽하게 스크래핑할 수 있었다.
PWA 페이지에서도 그려질 때까지 기다려주고, 잡을 수 없는 값은 없을 것 같다.
앞으로는 이 Puppeteer를 메인으로 스크레이핑하므로, 템플리로서 코드를 남긴다.
템플릿 코드
qiita의 Organization 일람으로부터 자사인 「주식회사 유메미」의 투고수/좋아하는 수를 취득해 본다.
다음에 코드로 스쿠쇼도 찍어 본다.
const puppeteer = require('puppeteer')
try {
(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto("https://qiita.com/organizations/yumemi", { waitUntil: 'networkidle2' }) //表示されるまで待つ
await page.screenshot({path: 'qiita_screenshot.png'}) //スクリーンショット撮影
//投稿数
const itemSelector1 = "body > div:nth-child(4) > div.organizationHeader > div > div > div > div.col-sm-3 > div > div:nth-child(1) > div.organizationHeader_stats_value"
var postsCount = await page.$eval(itemSelector1, item => item.textContent) //取得
console.log(`投稿数:${postsCount}`)
//いいね数
const itemSelector2 = "body > div:nth-child(4) > div.organizationHeader > div > div > div > div.col-sm-3 > div > div:nth-child(2) > div.organizationHeader_stats_value"
var thunbsUpCount = await page.$eval(itemSelector2, item => item.textContent) //取得
console.log(`いいね:${thunbsUpCount}`)
await browser.close() //後片付け
})()
} catch (error) {
console.error(error)
}
촬영한 스쿠쇼
await page.screenshot({path: 'qiita_screenshot.png'})
로 촬영한 이미지제대로 찍을 수 있다!
결과
投稿数: 1166
いいね: 31231
확실히 얻을 수 있었다!
자료 링크
Reference
이 문제에 관하여(Puppeteer 템플릿), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikemura23/items/5b66c7f7316ecac9fb89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)