如何传递令牌以从ajax请求中获取JSON数据(用于使用NodeJ进行爬网/爬网)

我试图抓取一个网站,但是网站使用ajax请求并使用令牌来获取JSON数据。如何传递令牌,或者还有另一种获取JSON的方法?

我正在使用Node Js(request,cheerio)进行抓取。我尝试了对链接的基本请求(以下是示例链接:“ http://lpse.depkes.go.id/eproc4/dt/lelang?draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=1&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=2&columns%5B2%5D%5Bname%5D=&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=3&columns%5B3%5D%5Bname%5D=&columns%5B3%5D%5Bsearchable%5D=false&columns%5B3%5D%5Borderable%5D=false&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=4&columns%5B4%5D%5Bname%5D=&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=true&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=0&order%5B0%5D%5Bdir%5D=desc&start=0&length=25&search%5Bvalue%5D=&search%5Bregex%5D=false&authenticityToken=36624c05b9a89a02d40023a5aa4fab618c0478f9&_=1573183784040

这是上面链接中的令牌:

authenticityToken=36624c05b9a89a02d40023a5aa4fab618c0478f9&_=1573183784040

和一些请求标题:

headers: {
      "Content-Type": "application/json","Connection": "keep-alive","accept": "application/json","X-Requested-With": "XMLHttpRequest","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.97 Safari/537.36","accept-Language": "en-US,en;q=0.9,id;q=0.8",}

这是我的请求代码:

exports.makeRequestGet = async (url) => {
  console.log(url)
  var options = {
    method: "GET",url: url,headers: {
      "Content-Type": "application/json","User-Agent": "PostmanRuntime/7.19.0",},json: true
  };

  return new Promise((resolve,reject) => {
    request(options,function (error,response,body) {
      if (error) {
        console.log(error)
        return reject(error);
      };
      console.log(response.headers)
      return resolve(body)
    });
  });
};

但结果是:

"result":"Bad authenticity token"

如何传递令牌以从ajax请求中获取JSON数据(用于使用NodeJ进行爬网/爬网)

wsydy2006 回答:如何传递令牌以从ajax请求中获取JSON数据(用于使用NodeJ进行爬网/爬网)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3140393.html

大家都在问