为了账号安全,请及时绑定邮箱和手机立即绑定

无法解析来自网页的信息

无法解析来自网页的信息

蝴蝶不菲 2021-11-12 15:28:17
我正在尝试从我的 node.js 项目https://stockx.com/api/products/nike-daybreak-undercover-black?includes=market上的此链接解析信息当我通过邮递员访问链接并在网络浏览器上访问 url 时,我能够获取信息。但是,当我尝试通过我的 node.js 项目访问请求时,它说访问被拒绝。知道为什么吗?谢谢。这是我的代码:const express = require('express');const request = require('request');const cheerio = require('cheerio');const axios = require('axios')const app     = express();app.get('/', function(req, res){   let shoe =req.query.shoe;    let url = 'https://stockx.com/api/products/nike-daybreak-undercover-black?includes=market'    request(url, function(error, response, html) {        if (!error) {          var $ = cheerio.load(html);          console.log(html)          res.send();        }    });});app.listen('8080');console.log('API is running on http://localhost:8080');module.exports = app;
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您只需要在标题中添加“User-Agent”。您尝试从中获取数据的网站拒绝所有没有 User-Agent 的请求以避免抓取。


const options = {

    url: 'https://stockx.com/api/products/nike-daybreak-undercover-black?includes=market',

    headers: {

        'User-Agent': 'request'

    }

};

request(options, function(error, response, html) {

    console.log('err: ', error);


    if (!error) {

        var $ = cheerio.load(html);

        console.log(html)


        res.send(html);

    }

});


查看完整回答
反对 回复 2021-11-12
?
交互式爱情

TA贡献1712条经验 获得超3个赞

我已经尝试了以下代码并且它有效



// ...

app.get('/', function(req, res){

  //  let shoe =req.query.shoe;

    let url = 'https://stockx.com/api/products/nike-daybreak-undercover-black?includes=market'


    axios({

      method : 'get',

      url,

      headers : { withCredentials: true, 'User-Agent' : 'Postman' }

    })

    .then(data => {

      console.log('data', data.data);

    })

    .catch(err => {

      console.log('err', err);

    })

    res.send().status(200);

});


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信