我尝试使用nba.com api,但是给我错误。
" RequestError:错误:读取ECONNRESET 在新的RequestError(c:\ Users \ Omer \ Desktop \ game \ node_modules \ request-promise-core \ lib \ errors.js:14:15) 在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) 在emitErrorNT(internal / streams / destroy.js:64:8) at _combinedTickCallback(internal / process / next_tick.js:138:11) at 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) 根据要求(c:\ Users \ Omer \ Desktop \ game \ node_modules \ request \ index.js:54:10) at 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) at 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)"
我的代码:
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);
}
答案 0 :(得分:1)
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);
}