1

我尝试使用 nba.com api,但给我那个错误。

“RequestError:错误:在 Request.plumbing.callback (c:\ Users\Omer\Desktop\game\node_modules\request-promise-core\lib\plumbing.js:87:29) 在 Request.RP$callback [as _callback] (c:\Users\Omer\Desktop\game\node_modules\ request-promise-core\lib\plumbing.js:46:31) 在 self.callback (c:\Users\Omer\Desktop\game\node_modules\request\request.js:188:22) 在 emitOne (events.js :116:13) 在 Request.emit (events.js:211:7) 在 Request.onRequestError (c:\Users\Omer\Desktop\game\node_modules\request\request.js:884:8) 在 emitOne (events .js:116:13) 在 ClientRequest.emit (events.js:211:7) 在 TLSSocket.socketErrorListener (_http_client.js:387:9) 在 emitOne (events.js:116:13) 在 TLSSocket.emit (events.js:211:7) 在 _combinedTickCallback (internal/process/next_tick.js:138:11) 在 process._tickCallback ( internal/process/next_tick.js:180:9) 来自上一个事件:在 Request.plumbing.init (c:\Users\Omer\Desktop\game\node_modules\request-promise-core\lib\plumbing.js:36: 28) 在 Request.RP$initInterceptor [as init] (c:\Users\Omer\Desktop\game\node_modules\request-promise-core\configure\request2.js:41:27) 在新请求 (c:\Users \Omer\Desktop\game\node_modules\request\request.js:130:8) 在 requestStats (c:\Users\Omer\Desktop\game\node_modules\request\index.js:54:10) 在 requestStats (c: \Users\Omer\Desktop\game\modules\utils\crawlers\stats\nba.stats.crawler.js:23:12) 在 Object.crawl (c:\Users\Omer\Desktop\game\modules\utils\crawlers\stats\nba.stats.crawler.js:12:12) 在 Object.crawl (c:\Users\Omer\Desktop\game\modules\utils\crawlers \stats\stats.crawler.js:20:20) 在 Object.runCrawl (c:\Users\Omer\Desktop\game\modules\utils\crawlers\utils.crawler.js:27:18) 在 startCrawl (c: \Users\Omer\Desktop\game\scripts\useful\crawl.js:19:13) 在 loadConfig (c:\Users\Omer\Desktop\game\scripts\useful\crawl.js:12:5) 在 c: \Users\Omer\Desktop\game\config\lib\mongoose.js:35:21 at process._tickCallback (internal/process/next_tick.js:188:7)"\Users\Omer\Desktop\game\scripts\useful\crawl.js:19:13) 在 loadConfig (c:\Users\Omer\Desktop\game\scripts\useful\crawl.js:12:5) 在 c: \Users\Omer\Desktop\game\config\lib\mongoose.js:35:21 at process._tickCallback (internal/process/next_tick.js:188:7)"\Users\Omer\Desktop\game\scripts\useful\crawl.js:19:13) 在 loadConfig (c:\Users\Omer\Desktop\game\scripts\useful\crawl.js:12:5) 在 c: \Users\Omer\Desktop\game\config\lib\mongoose.js:35:21 at process._tickCallback (internal/process/next_tick.js:188:7)"

我的代码:

    var path = require('path'),
    request = require('request-promise'),
    format = require('string-template');

module.exports = {
    crawl: crawl
};

const STATS_NBA_API = 'http://stats.nba.com/stats/leaguegamelog?Counter=1000&DateFrom=&DateTo=&Direction=DESC&LeagueID=00&PlayerOrTeam=P&Season=2017-18&SeasonType=Regular+Season&Sorter=DATE';

function crawl(options){
    return requestStats(STATS_NBA_API)
        .then(statsPlayers => { return convertStatsToList(statsPlayers); })
        .catch(error => 
            console.log(error))
}

function convertStatsToList(statsPlayers){
    console.log(statsPlayers)
}

function requestStats(url){
    var options = {
        method: 'GET',
        url: url,
        json: true       
    };
    return request(options);
}
4

1 回答 1

5
   function requestStats(url) {
    var options = {
        method: 'GET',
        url: url,
        json: true,
        headers: {
            'Connection': 'keep-alive',
            'Accept-Encoding': '',
            'Accept-Language': 'en-US,en;q=0.8'
        }
    };
    return request(options);
}
于 2018-01-04T19:56:47.327 回答