브라우저리스, 인형극 및 Node.js를 사용한 궁극의 웹 스크래핑
7576 단어 puppeteerscrapingbrowserlessnode
Browser automation built for enterprises, loved by developers.
browserless.io은 호스팅된 인형극 스크래핑을 위한 깔끔한 서비스이지만 로컬에서 실행하기 위한 the official Docker image도 있습니다.
🤯 알고나서 깜짝 놀랐어요!
Github christian-fei/browserless-example에서 전체 소스 코드를 찾으십시오!
도커에서 브라우저리스 실행
한 줄이면 puppeteer를 사용하여 활용하기 위해 구성된 동시성 등이 있는 완전한 puppeteer 백엔드를 갖기에 충분합니다.
다음과 같이 옵션
browserWSEndpoint
을 전달하여 브라우저 없는 백엔드에 연결할 수 있습니다.async function createBrowser () {
return puppeteer.connect({ browserWSEndpoint: 'ws://localhost:3000' })
}
백엔드를 시작하려면 도커 이미지
browserless/chrome
를 사용하여 다음 명령을 사용할 수 있습니다.docker run \
-e "MAX_CONCURRENT_SESSIONS=15" \
-e "MAX_QUEUE_LENGTH=0" \
-e "PREBOOT_CHROME=true" \
-e "DEFAULT_BLOCK_ADS=true" \
-e "DEFAULT_IGNORE_HTTPS_ERRORS=true" \
-e "CONNECTION_TIMEOUT=600000" \
-p 3000:3000 \
--rm -it browserless/chrome
소스 코드
Github christian-fei/browserless-example에서 전체 소스 코드를 찾으십시오!
puppeteer와 함께 웹 크롤러를 찾을 수 있습니다!
git clone https://github.com/christian-fei/browserless-example.git
cd browserless-example
npm i
npm run start-browserless
node crawl-with-api.js https://christianfei.com
브라우저 없는 도커 백엔드를 사용하는 인형극
브라우저 WebSocket 끝점
ws://localhost:3000
에 연결하기만 하면 브라우저 없는 백엔드에 연결됩니다!다음은
<a>
에서 모든 링크christianfei.com
를 가져오는 간단한 예입니다.const puppeteer = require('puppeteer')
main(process.argv[2])
.then(err => console.log('finished, exiting') && process.exit(0))
.catch(err => console.error(err) && process.exit(1))
async function main (url = 'https://christianfei.com') {
const browser = await createBrowser()
const page = await browser.newPage()
await page.goto(url)
console.log('title', await page.title())
const links = await page.evaluate(selector => [...document.querySelectorAll(selector)], 'a')
console.log('links.length', links.length)
}
async function createBrowser () {
return puppeteer.connect({ browserWSEndpoint: 'ws://localhost:3000' })
}
예제 비디오:
Reference
이 문제에 관하여(브라우저리스, 인형극 및 Node.js를 사용한 궁극의 웹 스크래핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/christianfei/ultimate-web-scraping-with-browserless-puppeteer-and-node-js-ead텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)