我正在尝试使用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¤cy=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);
});
发布于 2019-04-30 21:03:50
需要添加headers参数,即:
rp({
url:url,
headers: {
'User-Agent': 'Request-Promise'
},
json:true
})https://stackoverflow.com/questions/50685994
复制相似问题