在puppeteer中获取具有特定类的Image src

时间:2019-03-11 06:43:22

标签: javascript node.js web-scraping puppeteer

我有以下代码,我将所有src存储在一个数组中,我只想存储类名称为xyz的img

const imgs = await page.$$eval('img[src]', imgs => imgs.map(img => img.getAttribute('src')));

我试图进行用户过滤,但是我无法达到正确的语法。

3 个答案:

答案 0 :(得分:4)

如果您想在最新类照片中获取所有SRC地址:

<div class="latest-photos">

    <img src="/LogoImage.ashx?sn=14376&imgNbr=0" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img1" alt="OptionalI Image 1" width="170" style="vertical-align: top;" />
    <img src="/LogoImage.ashx?sn=14376&imgNbr=1" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img2" alt="OptionalI Image 2" width="170" style="vertical-align: top;" />
    <img src="/LogoImage.ashx?sn=14376&imgNbr=2" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img3" alt="Option
    
    alI Image 3" width="170" style="vertical-align: top;" />
</div>

您使用:

const imgs = await page.$$eval('.latest-photos img[src]', imgs => imgs.map(img => img.getAttribute('src')));

答案 1 :(得分:2)

只需在您的查询字符串中添加.xyz

const imgs = await page.$$eval('img.xyz[src]', imgs => imgs.map(img => img.getAttribute('src')));

答案 2 :(得分:-1)

您可以使用此:

    const imgaes = await page.$$eval('img', anchors => [].map.call(anchors, img => img.src));