图像显示在浏览器中,但无法使用代码(node.js)下载



>我有一个客户要求我创建下载的图像的缩略图。我有一段代码,它使用node-fetch将图像下载到缓冲区中:

const fetch = require('node-fetch');
const URL =
  'https://lf.lids.com/hwl?set=sku[20905595],c[2],w[400],h[300]&call=url[file:product]';
async function main() {
  const t = await fetch(URL);
  const tt = await t.buffer();
  debugger;
}
main();

这适用于除代码中的图像之外的大多数图像。我有一种感觉 lids.com 可能正在做一些重定向魔法或防止抓取发生,但我无法调试它。

我还尝试设置各种标题来模仿浏览器(加载图像(,但到目前为止没有任何效果。我不确定这是库问题还是操作问题。

原来有两个问题:

  • 需要更改Agent以反映浏览器
  • 一些服务器只是直接阻止来自 AWS 的任何内容以防止抓取,我们最终使用 crawlera 来解决这个问题

最新更新