nodejs 爬虫 response.body vs 响应转换为 jquery?

nodejs crawler response.body vs response conversion to jquery?

我使用 crawler 我的 nodejs 项目中的内置 cheerio 爬虫如何。

我的爬虫从这样的函数开始(就像文档中的例子):

let c = new Crawler({
maxConnections: 10,


callback: (error, res, done) => {
    if (error) { throw err; } else {
        let $ = res.$;

        

        let content_test1 = $("*").toString();
        let content_test2 = res.body;

        let file_test1 = fs.writeFile(path, content_test1, (err) => {
            err ? console.log(err) : console.log("done");
        });
        let file_test2 = fs.writeFile(path, content_test2, (err) => {
            err ? console.log(err) : console.log("done");
        });
    }
    done();
}});
let browser = c.queue('https://someUrl.com');

问题是“content_test1”文件比使用“content_test2”作为数据创建的文件大 4 倍,并且大多数 html 似乎是重复的。那么我哪里错了?

问候。

查理

$("*") selects 文档中的所有个元素。这包括嵌套的。这里

<div>Outer <div>Middle <div>Inner</div></div></div>

会select

<div>Outer <div>Middle <div>Inner</div></div></div>
<div>Middle <div>Inner</div></div>
<div>Inner</div>