我决定为了兴趣的缘故,从网站收集数据(名称,每晚价格,评级)为自己,遇到了误解.我什么都没有得到输出.我写了其他图书馆,但他们说这个更好.
const cheerio = require("cheerio");
let fs = require('fs');
const base = "https://ostrovok.ru/hotel/russia/adler/";
(async () => {
let url = "?page=1";
const data = [];
for (let i = 0; i < 176; i++) {
try {
console.log(base + url);
const res = await fetch(base + url);
if (!res.ok) {
break;
}
const $ = cheerio.load(await res.text());
const chunk = [...$("")].map(e =>
$(e).text().trim()
);
data.push(chunk);
url = $("#__next > div > div:nth-child(2) > div > div > div.Layout_content__9ap_g > div:nth-child(3) > div > div.HotelCard_headerArea__hlQPk > div > div.HotelCard_mainInfo__pNKYU > div.HotelCard_wrapTitle__t742O > h2 > a").attr("TEXT");
}
catch (err) {
console.error(err);
break;
}
}
console.log(JSON.stringify(data, null, 2));
fs.writeFile('numbers.txt', data.join('\n'), function(err) {
if (err) {
console.log(err);
}
});
})();
我本以为会看到一个数据列表,但我得到了[].