puppeteer如何爬取区块链信息

多跳几个坑,你就会明白的。

先看完这个:

先看完这个:

先看完这个:

我使用的环境是node.js 代码使用ts格式,当然js也是可以用的

 

 

先打开网站,然后找到想要获取的内容,按下F12,找到数据对应的div(或者其他元素)的id然后“盘”它

 

下面是干货:

 

const puppeteer = require('puppeteer');
(async () => {
    try {
        // 创建一个浏览器实例 Browser 对象
        let browser = await puppeteer.launch({
            // 是否不显示浏览器, 为true则不显示,
            'headless': true,
        });
        //创建 Page 对象,这样就能从page(界面)上获取信息了
        let page = await browser.newPage();
        // 设置浏览器信息
        const UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36";
        await Promise.all([
            page.setUserAgent(UA),
            // 允许运行js
            page.setJavaScriptEnabled(true),
            // 设置页面视口的大小
            page.setViewport({ width: 1000, height: 1080 }),
        ]);
        // 这个是要访问的网站地址,这个网址是区块链网址不需要登录,所以比较简单
        let chapter_list_url = `https://bloks.io/`
        // 打开网址,await是异步的方式打开,await和async是一起出现的,想使用await,方法名前必须加async
        await page.goto(chapter_list_url);
        let aaa = "";
        //定时器,两秒获取一次数据
        setInterval(async function () {
            // 使用css选择器的方式获取页面中的数据
            aaa = await page.$eval('#panel-text-1', el => el.innerText);
            //打印爬取的数据
            console.log(aaa)
        }, 2000);
    } catch (err) {
        console.log(err)
    }
})()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值