【发布时间】:2020-03-28 20:22:16
【问题描述】:
我正在使用流行的 npm 包 Cheerio 来请求检索一些表数据。
虽然我可以轻松地从单个页面检索和解析表格,但我想循环/处理多个页面。
我已尝试将 async 包提供的循环/各种实用程序封装在内部,但无法弄清楚这一点。在大多数情况下,节点内存不足。
当前代码:
const cheerio = require('cheerio');
const axios = require("axios");
var url = someUrl;
const getData = async url => {
try {
const response = await axios.get(url);
const data = response.data;
const $ = cheerio.load(data);
const announcement = $(`#someId`).each(function(i, elm) {
console.log($(this).text())
})
} catch (error) {
console.log(error);
}
};
getData(url); //<--- Would like to give an array here to fetch from multiple urls / pages
在尝试循环之后,我目前的方法是将其包装在另一个带有回调参数的函数中。然而,还没有成功,而且变得相当混乱。
向此函数提供数组的最佳方法是什么?
【问题讨论】:
标签: javascript node.js axios cheerio