forked from tskillian/kasparov-number
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGamestats_Scrape.js
37 lines (31 loc) · 1.1 KB
/
Gamestats_Scrape.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var request = require('request'),
cheerio = require('cheerio');
//var player = '12710197';
//var bucket = '2600';
var async = require('async');
var getWin = function(player, bucket, WLD, callback) {
'use strict';
var test = null;
var requestURL = 'http://www.uschess.org/datapage/gamestats.php?memid=' + player + '&dkey='+bucket+'&drill=G';
request(requestURL, function(error, response, body) {
var LW = [];
var $ = cheerio.load(body);
var $table = $('.blog').siblings().find('tr');
var tableLength = $table.length;
$table.each(function(i, element) {
var $row = $(element);
var wl = $row.find('td').eq(7).text();
var pID = $row.find('td').eq(4).text();
var player = {};
player.winLoss = wl;
player.playerID = pID.trim();
if (WLD === wl) {
LW.push(player)
} else if (WLD === null && wl !== '') { // Make sure no empty objects are added
LW.push(player)
}
});
callback(LW)
});
};
module.exports = getWin;