【问题标题】:How to scrape image src urls using node js and puppeteer如何使用节点 js 和 puppeteer 抓取图像 src url
【发布时间】:2020-06-08 21:47:22
【问题描述】:

我想从维基百科页面抓取一张图片,但问题是我一次得到同一张图片的 3 个 url,而这三个 url 位于名为 img 的同一个标签中。我只是想要src 网址。任何人都知道该怎么做。

const puppeteer = require('puppeteer');
const sleep = require('sleep');

(async ()=> {

    const browser = await puppeteer.launch({
        "headless": false
    });

    const page =await browser.newPage();

    await page.goto("https://www.wikipedia.org/");

    const xpathselector = `//span[contains(text(), "Commons")]`;

    const commonlinks = await page.waitForXPath(xpathselector);

    await page.waitFor(3000);

    await commonlinks.click();

    await page.waitFor(2000)

    //await page.waitForSelector()

    const images = await page.$eval(('a[class="image"] > img[src]'),node => node.innerHTML);

    console.log(images);

} ) ();

//*[@id="mainpage-potd"]/div[1]/a/img

【问题讨论】:

  • 仅供参考,它是 scrape_ 不是废品

标签: javascript html node.js web-scraping puppeteer


【解决方案1】:

我敢打赌,您“看到”了三个 URL,因为您正在查看 srcset,它有许多用于不同屏幕的 URL。决议。您可以改为返回 src 属性:

const images = await page.$eval(('a[class="image"] > img[src]'),node => node.src);

【讨论】:

    猜你喜欢
    • 2016-11-30
    • 2022-12-03
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2018-07-29
    相关资源
    最近更新 更多