使用cheerio刮除表格的第n个元素?

时间:2020-07-01 13:33:37

标签: javascript web-scraping cheerio

我要刮擦此表的https://www.bmreports.com/bmrs/?q=generation%2Ffueltype&fbclid=IwAR2p2a84CaJhgzF-YOU4MzOS-cMuZUpeDmLHFkWZU7-NauRHrA1owwdsMog列 我可以刮整个桌子,但是我不知道如何对它进行排序。理想情况下,我只会刮一列。

const request = require('request');
const cheerio = require('cheerio');

request('https://www.bmreports.com/bmrs/?q=generation%2Ffueltype&fbclid=IwAR2p2a84CaJhgzF-YOU4MzOS-cMuZUpeDmLHFkWZU7-NauRHrA1owwdsMog', (error, response, html) =>
{
    if (!error && response.statusCode == 200)
    {
        const $ = cheerio.load(html);

        const table = $('.gen-fuel');
        var newArray = [];
        var windArray = [];
       // console.log(table.html());
        $('td').each((i, el) =>
        {
            const item = $(el).html();

            newArray.push(item);
            console.log(item)

        });
        const every7thValue = (arr, nth) => arr.filter((e, i) => i % nth === nth - 1);
        console.log(every7thValue(newArray, 7));
        //console.log(newArray);



    }
});

1 个答案:

答案 0 :(得分:0)

类似的东西

const request = require('request');
const cheerio = require('cheerio');

request(
    'https://www.bmreports.com/bmrs/?q=generation%2Ffueltype&fbclid=IwAR2p2a84CaJhgzF-YOU4MzOS-cMuZUpeDmLHFkWZU7-NauRHrA1owwdsMog',
    (error, response, html) => {
        if (!error && response.statusCode == 200) {
            const $ = cheerio.load(html);

            const winds = $('.gen-fuel tbody td:nth-child(8)')
                .map(function () {
                    return $(this).text();
                })
                .get();

            console.log(winds);
        }
    }
);

Cheerio支持CSS选择器,凭借其强大的功能,您可以获得具有 wind 列中所有值的数组