搜寻网站以检索html元素和相关样式

我正在尝试抓取带有提供的标签的网站来抓取所有元素,例如$('header')及其相关样式。 本质上遍历每个元素并获取与它关联的CSS,并将其全部转储到文件中。

当前,我已经设置了以下内容:

// npm install --save request request-promise cheerio puppeteer

const rp = require("request-promise");
const puppeteer = require("puppeteer");
var fs = require("fs");
const $ = require("cheerio");
const url = "url here";

puppeteer
    .launch()
    .then(function(browser) {
        return browser.newPage();
    })

    .then(function(page) {
        return page.goto(url,{waitUntil: 'load',timeout: 0}).then(function() {
            return page.content();
        });
    })

    .then(function(html) {
        let header = $('#header',html);

        fs.writeFile("test.txt",header,(err) => {
            if (err) console.log(err);
            console.log("Successfully Written to File.");
        });
    })

    .catch(function(err) {
        console.log(err)
    });

我对如何遍历所有子元素并获取其样式感到困惑。任何建议将不胜感激。

l1314121 回答:搜寻网站以检索html元素和相关样式

您可以使用.children([selector])的方法,如在cheerio文档中所看到的,它将提供array,您可以使用我认为的方法并将其循环,您是否尝试过?

,

在cheerio中,您可以进行如下循环事件

const result = $('.listing > tbody:nth-child(1) tr').each((i,item) => {
    const $item = $(item);
    const comicName = $item.find('td > a').text().trim();
});
本文链接:https://www.f2er.com/3126277.html

大家都在问