Skip to content

Instantly share code, notes, and snippets.

@lemoogle
Last active August 26, 2015 21:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lemoogle/edc48685d71e1ac79a65 to your computer and use it in GitHub Desktop.
Save lemoogle/edc48685d71e1ac79a65 to your computer and use it in GitHub Desktop.
Parses vita game release dates from gamefaqs, updates reddit wiki page with table.

Requirements

  • Node.js
  • npm install needle HTTP client
  • npm install cheerio HTML selector
  • npm install snoocore reddit api client

Run

node releases.js
var needle = require('needle');
var cheerio = require('cheerio');
var Snoocore = require('snoocore');
var reddit = new Snoocore({
userAgent: 'test@documentation',
oauth: {
type: 'script',
key: 'your app key from reddit here',
secret: 'your app secret from reddit here',
username: 'approved developer for the app username',
password: 'approved developer for the app password',
// make sure to set all the scopes you need.
scope: [ 'wikiedit' ]
}
});
var currentregion="";
var currentdate="";
var result={};
var table="Title|NA|EU|Japan|Australia\n:-|:-:|:-:|:-:|:-:\n"
needle.get('http://www.gamefaqs.com/vita/releases', function(error, response) {
if (!error && response.statusCode == 200)
$= cheerio.load(response.body)
var elems=$('.post_content .span12 .pod .contrib tr').each(function(i,elem){
var cols=$(this).find('td')
var date= cols.eq(0).text()
var region= cols.eq(1).text()
var name=cols.eq(2).text()
if (date){
currentdate=date;
}
if (region){
currentregion=region;
}
var regions={"Australia":"","North America":"","Japan":"","Europe":""};
var game={"name":name,"regions":regions}
if (typeof result[name]!= 'undefined'){
game=result[name];
}
game.regions[currentregion]=currentdate
result[name]=game
})
for (gamei in result){
var game=result[gamei]
table+=game.name+"|"+game.regions["North America"]+"|"+game.regions.Europe+"|"+game.regions.Japan+"|"+game.regions.Australia+"\n"
}
reddit('/r/vita/api/wiki/edit').post({
content:table,
page:"testreleasedates"
});
console.log(table)
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment