Skip to content

Instantly share code, notes, and snippets.

@rhyzx
Last active April 16, 2019 06:24
Show Gist options
  • Save rhyzx/704512f7b9870f50f8e258d221babb8f to your computer and use it in GitHub Desktop.
Save rhyzx/704512f7b9870f50f8e258d221babb8f to your computer and use it in GitHub Desktop.
List PS4 multiplayer games
// paste to chrome console
;(async (count=2000 /*current 1200+ games*/) => {
const links = []
let start = 0
while (start < count) {
const size = Math.min(90, count - start) // max 99/req
start += size
const URL = `https://store.playstation.com/chihiro-api/viewfinder/US/en/19/STORE-MSF77008-ALLGAMES?platform=ps4&start=${start}&size=${size}&gkb=1&geoCountry=CN&facets=release_date%3Acoming_soon%2Crelease_date%3Alast_7_days%2Crelease_date%3Alast_30_days%2Cgame_content_type%3Agames%2Cgame_content_type%3Abundles%2Cgame_content_type%3Aaddons%2Cgame_content_type%3Asubscriptions%2Cgame_content_type%3Aonline_passes%2Cgame_content_type%3Ademos%2Cgame_content_type%3Abetas%2Cgame_content_type%3Atimed_trials%2Cgame_content_type%3Aapps%2Cgame_content_type%3Athemes%2Cgame_content_type%3Aavatars%2Cgame_content_type%3Aother_extras%2Cgame_type%3Aps4_full_games%2Cgame_type%3Aps3_full_games%2Cgame_type%3Apsn_games%2Cgame_type%3Abundles%2Cgame_type%3Adisc_only%2Cgame_type%3Apsone_classics%2Cgame_type%3Aps2_classics%2Cgame_type%3Aps_vita_games%2Cgame_type%3Apsp_games%2Cgame_type%3Aminis%2Cgame_type%3Apc_engine_archives%2Cgame_type%3Aumd_passport_compatible%2Cplatform%3Aps4%2Cplatform%3Aps3%2Cplatform%3Apsp%2Cplatform%3Avita%2Cgame_demo%2Cprice%3A0-0%2Cprice%3A*-199%2Cprice%3A200-499%2Cprice%3A500-999%2Cprice%3A1000-1999%2Cprice%3A2000-*%2Caccessories%3A3d%2Caccessories%3Adrum_kit%2Caccessories%3Aguitar%2Caccessories%3Amicrophone%2Caccessories%3Aplaystation_eye%2Caccessories%3Aplaystation_move%2Caccessories%3Aracing_wheel%2Cplay_type%3Aonline%2Cplay_type%3Asingle_player%2Cplay_type%3Avoice_chat_support%2Cplay_type%3Amultiplayer`
const data = await fetch(URL).then(r => r.json())
links.push(...data.links)
}
const items = links
.filter(i => /(\d+-\d+) players/.test(i.long_desc))
.map(i => ({
name: i.name,
players: /(\d+-\d+) players/.exec(i.long_desc)[1],
release_date: i.release_date,
rating: `${i.star_rating.score}/${i.star_rating.total}`,
price: i.default_sku ? i.default_sku.display_price : 'N/A',
url: `https://store.playstation.com/#!/en-us/games/cid=${ i.id }`,
steam_search: `http://store.steampowered.com/search/?term=${ encodeURIComponent(i.name) }`
}))
const result = items
.map(i => [i.name, i.players, i.release_date, i.rating, i.price, i.url, i.steam_search].join('\t'))
.join('\n')
window.result = result
// copy(result)
console.info('success, use `copy(result)` to copy result to clipboard')
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment