2

request-promise を使用して、Asos.com から商品の価格を取得しようとしています。以下のコードを実行しようとすると、403 エラーが発生します。スクレイピングしようとしている URL が公開されているにもかかわらず、このエラーが発生する可能性はありますか? キーは必要ありませんか?

http://www.asos.com/api/product/catalogue/v2/stockprice?productIds=10000496¤cy=SEK&keyStoreDataversion=7jhdf34h-6&store=ROE

一部のサイトが ToS でスクレイピングに反対していることは知っていますが、これを間違って実行しているだけでなく、実際にサイトによってブロックされているかどうかを確認したいだけです.

const rp = require('request-promise');

var url = 'http://www.asos.com/api/product/catalogue/v2/stockprice?productIds=10000496&currency=SEK&keyStoreDataversion=7jhdf34h-6&store=ROE';

rp({ url:url, json:true })
  .then(function (data) {
    console.log(data.productPrice.current.value);
  })
  .catch(function (reason) {
    console.error("%s; %s", reason.error.message, reason.options.url);
    console.log("%j", reason.response.statusCode);
  });

4

1 に答える 1