【发布时间】:2021-11-20 19:43:54
【问题描述】:
`我正在尝试使用 scraperApi 使用他们的 productId 和 express.js 进行 API 调用,从亚马逊获取有关产品的信息 运行时提示错误:
"{"name":"RequestError","message":"错误:无效的 URI "$%7BbaseUrl%7D&url=https://www.amazon.com/dp/$%7BproductId%7D"","原因":{},"error":{},"options":{"uri":"${baseUrl}&url=https://www.amazon.com/dp/${productId}","simple" :true,"resolveWithFullResponse":false,"transform2xxOnly":false}}"
而不是产品数据 在检查时,它显示以下错误,
未检查的 runtime.lastError:消息端口在收到响应之前关闭。
代码如下:
const express = require('express');
const request = require('request-promise');
const app = express();
const PORT= process.env.PORT||5000;
const apiKey ='[sensitive information]';
const baseUrl ='http://api.scraperapi.com?api_key=${apiKey}&autoparse=true';
app.use(express.json());
app.get('/',(req,res ) =>{
res.send('Welcome to Dentel API project');
});
//GET Product details
app.get('/products/:productId',async(req,res)=>{
const{productId}= req.params;
try{
const response = await request('${baseUrl}&url=https://www.amazon.com/dp/${productId}');
res.json(response);
}catch(error){
res.json(error);
}
});
app.listen(PORT,()=>console.log('Server running on port ${PORT}'));
【问题讨论】:
标签: javascript node.js api express web-scraping