使用 puppeteer 下载时是否可以请求图像的 jpg 版本

Is it possible to request jpg version of an image when downloading with puppeteer

我是菜鸟,对我温柔点:)

我正在使用 puppeteer 从供应商网站提取数据(他们已允许我这样做)并导入到 WordPress / WooCommerce 中。我可以毫无问题地获取产品数据,但我遇到了图片问题。

我可以很好地提取图像。我面临的问题是该网站正在提供一些 webp 格式的图像。据我了解,服务器 would/should 同时具有 .jpg 和 .webp 图像,如果浏览器支持它,它会提供 webp 图像。

所以我从中获取图像的 URL 类似于“https://example.com/images/myimage.jpg”,但它实际上给了我 webp 图像。我需要在从站点获取图像时知道我得到的是 jpg 还是 webp 版本,以便我可以适当地保存它,然后找出如何处理它。

当我知道我实际拥有的扩展名时,我打算使用 sharp 转换这些图像

所以我想有几个问题是;

  1. 是否可以强制 puppeteer 不为我提供 webp 格式而只给我 jpg? 或者
  2. 在提取图像时是否可以在保存之前查看它的实际类型,以便我知道将其保存为什么扩展名?
  3. sharp 是否可以在我尝试转换之前识别图像类型?

谢谢丹

看起来 puppeteer 允许您设置用户代理。如果我将其设置为不支持webp图片的浏览器,则默认为我提供jpg图片

page.setUserAgent('Mozilla/5.0 CK={} (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko')