我正在看一个使用Cheerio的示例,我发现一个人正在抓取页面的HTML数据,然后将li
元素映射到对象。
async loadData() {
const searchUrl = `https://www.amazon.de/s/?page=1&keywords=graphic+card`;
const response = await fetch(searchUrl); // fetch page
const htmlString = await response.text(); // get response text
const $ = cheerio.load(htmlString); // parse HTML string
return $("#s-results-list-atf > li") // select result <li>s
.map((_, li) => ({ // map to an list of objects
asin: $(li).data("asin"),
title: "$(\"h2\", li).text()",
price: $("span.a-color-price", li).text(),
rating: $("span.a-icon-alt", li).text(),
imageUrl: $("img.s-access-image").attr("src")
}));
}
当映射那些li
的时候到底会发生什么?将对象保存到哪里,以及如何再次引用它们?