有没有一种方法可以自动提取“页面源” HTML / json数据?

时间:2020-09-23 14:50:26

标签: javascript html dom web-scraping puppeteer

我正在尝试从Chiefs game on ticketmaster中提取价格和数量数据,以查看数量如何随COVID发生变化,但是没有简单的方法将数据显示在屏幕上(因为我需要座位/行突破)。

我尝试使用puppeteer和无头浏览器(下面的代码),但被该网站阻止(他们认识到它是机器人)。我偶然发现了右键单击和“查看页面源代码”以及can see everything in json的选项-很棒,因为我可以将其解析为某种结构化格式。

我想定期获取更多此类数据,并且没有通过操纵up通过html链接进行拉取的能力,从“页面源”中拉取是否是我的最佳选择?如果伪造者已被阻止,有没有办法自动从“页面源”复制/粘贴?

我对javascript比较陌生,因此不胜感激!

const puppeteer = require('puppeteer')

async function getTix(){
    const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null
    });

    const page = await browser.newPage();

    const url = 'https://www.ticketmaster.com/kansas-city-chiefs-vs-las-vegas-kansas-city-missouri-10-11-2020/event/060058FEB7590E10';

    await page.goto(url);

    await page.waitForSelector(".quick-picks__list-item");

    const results = await page.$$eval(".quick-picks__list-item", rows => {
        return rows.map(row => {
            const properties = {};
            const titleElement = row.querySelector(".result-title");
            properties.title = titleElement.innerText;
            return properties;
        });
    })

    console.log(results);

}

getTix();

0 个答案:

没有答案