Изображение отображается в браузере, но не может быть загружено с кодом (node.js) - PullRequest
0 голосов
/ 04 июня 2019

У меня есть клиент, который попросил меня создать эскизы загруженных изображений.У меня есть фрагмент кода, который использует 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 может либо использовать магию перенаправления, либо предотвратить соскребание, но я не могу отладить это.

Я также пытался установить ассортимент заголовков для имитации браузера(который загружает изображение), но пока ничего не получалось.Я не уверен, является ли это проблемой библиотеки или операционной проблемой.

1 Ответ

0 голосов
/ 27 июня 2019

Оказывается, есть две проблемы:

  • Agent необходимо изменить, чтобы отобразить браузер
  • Некоторые серверы просто блокируют что-либо от AWS, чтобы предотвратить соскоб, в итоге мы использовали crawlera, чтобы обойти это
...