我正在尝试通过提供的标签来抓取网站以获取所有元素,例如$('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)
});
我对如何遍历所有子元素并掌握其样式感到困惑。任何建议将不胜感激。
您可以使用.children([selector])
的方法,如在cheerio文档中所看到的,它将提供array,您可以使用我认为的并循环它,您是否尝试过?