특정 웹사이트를 소스로 사용하여 헤드리스 브라우저에서 자바스크립트 실행

특정 웹사이트를 소스로 사용하여 헤드리스 브라우저에서 자바스크립트 실행

저는 우분투 서버(터미널만 해당)를 사용하고 있으며 (도메인 간 문제를 피하기 위해) 특정 웹 사이트에서 실행해야 하는 JavaScript가 있습니다.

기본적으로 기존 브라우저를 사용하는 경우 다음 단계를 따릅니다.

  1. 브라우저 열기
  2. 웹사이트를 열어
  3. 콘솔을 열고 자바스크립트 코드를 실행하세요.

그럼 터미널에서는 어떻게 해야 할까요?

답변1

신선하고 유지관리된 realCode™ 예시통과하다그리고기준 치수:

// https://codeburst.io/a-guide-to-automating-scraping-the-web-with-javascript-chrome-puppeteer-node-js-b18efb9e9921

const puppeteer = require('puppeteer');

let scrape = async () => {

    const browser = await puppeteer.launch({headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox']});
    const page = await browser.newPage();

    await page.goto('https://99bitcoins.com/bitcoin-rich-list-top100/#addresses');
    await page.waitFor(3000);

    const result = await page.evaluate(() => {
        var obj = {};
        var data = document.querySelectorAll('table.t99btc-rich-list tr');
        for (var i = 1; i<=100; i++) {
           obj[i] = {
               "hash": data[i].querySelector('td > a').innerText,
               "balance": data[i].querySelector('td:nth-of-type(3)').innerText
           }
        }

        return obj;

    });

    browser.close();
    return result;
};

scrape().then((value) => {
    console.log(JSON.stringify(value, null, 4));
});

용법:

node top_xbt.js

관련 정보