Using Puppeteer with Node.js to Scrape Data

const puppeteer = require('puppeteer');

(async () => {
    // Launch browser
    const browser = await puppeteer.launch({
        headless: true, // default is headless, here use normal mode for demonstration
        args: ['--no-sandbox', '--disable-setuid-sandbox'],
    })

    // Open a new tab page in the browser
    const page = await browser.newPage()
    // Navigate to the target webpage in the new tab
    await page.goto('https://lininn.cn')

    // Use page.evaluate to execute the passed function in the browser (full browser environment, so you can directly use window, document, etc.)
    let data = await page.evaluate(() => {
        let list = document.documentElement.outerHTML
        // let res = []
        // for (let i = 0; i < list.length; i++) {
        //     res.push({
        //         name: list[i].getAttribute('data-positionname'),
        //         company: list[i].getAttribute('data-company'),
        //         salary: list[i].getAttribute('data-salary'),
        //         require: list[i].querySelector('.li_b_l').childNodes[4].textContent.replace(/ |\n/g, ''),
        //     })
        // }
        return list
    })
  await page.close();
  await browser.close();
    console.log(data)
})()
// Set viewport width
await page.setViewport({ width: 1000, height: 500 }); 
 await page.screenshot({  path: path.join(__dirname, 'screenshot.png'),  });
// Emulate device
const iPhone = puppeteer.devices['iPhone XR'];

// Add user agent

await page.setViewport({ width: 1024, height: 1366 });  
await page.setUserAgent(  'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',  );

http://www.wukai.me/2021/05/22/puppeteer-notes/

                

评论

暂无评论。

登录后可发表评论。