【发布时间】:2020-04-17 02:36:36
【问题描述】:
我正在尝试抓取一个页面以将 img src 拉入一个数组。我正在使用cheerio 库。
这是我所拥有的:
$ = cheerio.load(body);
let flags = [];
$('figure').each(function(i, ele) {
// get image and country name, website use 'figcaption' under 'figure'
let imgTag = $(ele).children('img').attr('src');
let countryName = $(ele).children('figcaption').text().trim();
// create obj
let obj = {
img: imgTag,
country: countryName
}
// add to object
flags[i] = obj;
console.log(flags);
});
我的输出如下所示:
[ { img:
'https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/ad.svg',
country: 'Andorra' } ]
我在控制台中没有收到任何错误。但我正在寻找的是所有的 img src。它目前只抢到第一个。
经过研究,我看到了一个 github 问题,有人尝试使用箭头函数,但根据 Cheerio 文档,您应该使用常规函数。
【问题讨论】:
-
因为这是网络抓取,我决定使用不同的网站。我试图从 github io 页面上抓取,所以我认为他们可能一直在阻止脚本,因为我相信他们正在打击这种类型的活动。希望这对将来的某人有所帮助。
标签: jquery web-scraping foreach cheerio