Javascript 我能';收到彭博url请求时无法获取正文

Javascript 我能';收到彭博url请求时无法获取正文,javascript,node.js,web-scraping,Javascript,Node.js,Web Scraping,我想从彭博社的网址上找到尸体 这是我正在使用的代码: const options = { url: 'https://www.bloomberg.com/quote/CCMP:IND', headers: { 'User-Agent': 'request' } }; function callback(error, response, body) { if (!error && response.statusCode =

我想从彭博社的网址上找到尸体

这是我正在使用的代码:

   const options = {
    url: 'https://www.bloomberg.com/quote/CCMP:IND',
    headers: {
      'User-Agent': 'request'
    }
  };

  function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
      console.log(body);
    }
  }

  request(options, callback);

但当我记录身体时,我得到了这个信息:

<!doctype html>
<html>
<head>
    <title>Bloomberg - Are you a robot?</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">

彭博社-你是机器人吗?

我在Python中发现了一个类似的问题和使用BeautifulSoup的解决方案。。。但是我在NodeJs中找不到解决方案:

首先,您可以尝试添加普通浏览器在使用
request
执行请求时所具有的所有标题,如下所示:

headers: {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9,fr;q=0.8,ro;q=0.7,ru;q=0.6,la;q=0.5,pt;q=0.4,de;q=0.3',
    'cache-control': 'max-age=0',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
如果这仍然不起作用,那么您应该尝试Puppeter,它是一个基于铬的浏览器API,由google制作,您可以使用节点来模拟浏览器的确切工作流程


下面是一个关于如何使用它的好例子:

彭博社似乎正在实施反刮削。考虑到他们有一个API,你可能想使用它。他们的API只是订阅的,所以必须找到另一种方法谢谢你的回答。它正在工作。我只是没有包括“接受编码”标题,因为它显示了奇怪的代码。如果没有该标题,它将正确显示。谢谢。