Below is an extract of what the output is when using json instead of html. Some advantages for you of using the api instead of scraping the html:
Python has excellent JSON abilities.
3) If the rankings_pilots_total is < 100 you have everything. Perhaps not to worry now, but second page could be requested if player numbers grow
4) Iterate through the rankings_pilots array. Each object in that array is a player
Code: Select all
{
"rankings_pilots_total": 44,
"rankings_pilots": [
{
"tvs_username": "Mayo",
"legion": 4,
"level": 5,
"hp": 11648,
"maxhp": 12500,
"ship": 33,
"score": 115927,
"kills": 1,
"deaths": 0
},
{
"tvs_username": "Aftermath",
"legion": 5,
"level": 5,
"hp": 2478,
"maxhp": 12500,
"ship": 30,
"score": 114805,
"kills": 2,
"deaths": 0
},
{
"tvs_username": "the_hero",
"legion": 3,
"level": 5,
"hp": 10938,
"maxhp": 12500,
"ship": 28,
"score": 105093,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "ClemsonRoll",
"legion": 4,
"level": 5,
"hp": 9771,
"maxhp": 12500,
"ship": 29,
"score": 104711,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Lethal Lordz",
"legion": 3,
"level": 5,
"hp": 7717,
"maxhp": 12500,
"ship": 32,
"score": 100875,
"kills": 2,
"deaths": 0
},
{
"tvs_username": "faulcon",
"legion": 3,
"level": 5,
"hp": 10004,
"maxhp": 12500,
"ship": 32,
"score": 99511,
"kills": 3,
"deaths": 0
},
{
"tvs_username": "Durandal",
"legion": 2,
"level": 5,
"hp": 10822,
"maxhp": 12500,
"ship": 31,
"score": 98401,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Arch",
"legion": 4,
"level": 5,
"hp": 11446,
"maxhp": 12500,
"ship": 29,
"score": 96259,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "MJ23",
"legion": 2,
"level": 5,
"hp": 12500,
"maxhp": 12500,
"ship": 31,
"score": 91799,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "RaZeR",
"legion": 3,
"level": 5,
"hp": 10668,
"maxhp": 12500,
"ship": 32,
"score": 80762,
"kills": 3,
"deaths": 1
},
{
"tvs_username": "Xyphistor",
"legion": 3,
"level": 5,
"hp": 12150,
"maxhp": 12500,
"ship": 32,
"score": 80370,
"kills": 1,
"deaths": 0
},
{
"tvs_username": "Falashar",
"legion": 4,
"level": 5,
"hp": 12141,
"maxhp": 12500,
"ship": 33,
"score": 78101,
"kills": 6,
"deaths": 0
},
{
"tvs_username": "Zypher",
"legion": 4,
"level": 5,
"hp": 9000,
"maxhp": 10000,
"ship": 9,
"score": 75009,
"kills": 2,
"deaths": 0
},
{
"tvs_username": "Lethal2Trash",
"legion": 4,
"level": 5,
"hp": 9218,
"maxhp": 10000,
"ship": 25,
"score": 74843,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Lanix",
"legion": 1,
"level": 5,
"hp": 6034,
"maxhp": 10000,
"ship": 22,
"score": 70089,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Stranger",
"legion": 2,
"level": 5,
"hp": 8981,
"maxhp": 10000,
"ship": 23,
"score": 69495,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Beef",
"legion": 4,
"level": 5,
"hp": 8938,
"maxhp": 10000,
"ship": 11,
"score": 68253,
"kills": 1,
"deaths": 0
},
{
"tvs_username": "Yellow13",
"legion": 4,
"level": 5,
"hp": 9552,
"maxhp": 10000,
"ship": 11,
"score": 67920,
"kills": 7,
"deaths": 0
},
{
"tvs_username": "David",
"legion": 4,
"level": 5,
"hp": 8314,
"maxhp": 10000,
"ship": 9,
"score": 65179,
"kills": 2,
"deaths": 0
},
{
"tvs_username": "Galgaron",
"legion": 2,
"level": 5,
"hp": 9776,
"maxhp": 10000,
"ship": 23,
"score": 54752,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "Skirmisher",
"legion": 4,
"level": 5,
"hp": 3313,
"maxhp": 10000,
"ship": 15,
"score": 53743,
"kills": 2,
"deaths": 0
},
{
"tvs_username": "calundra",
"legion": 2,
"level": 5,
"hp": 8361,
"maxhp": 10000,
"ship": 13,
"score": 50313,
"kills": 1,
"deaths": 0
},
{
"tvs_username": "degener8",
"legion": 2,
"level": 5,
"hp": 8109,
"maxhp": 10000,
"ship": 13,
"score": 49573,
"kills": 1,
"deaths": 0
},
{
"tvs_username": "Nivara",
"legion": 2,
"level": 5,
"hp": 9843,
"maxhp": 10000,
"ship": 19,
"score": 49150,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Bsmoka",
"legion": 3,
"level": 5,
"hp": 9368,
"maxhp": 10000,
"ship": 8,
"score": 40080,
"kills": 1,
"deaths": 1
},
{
"tvs_username": "Standishy",
"legion": 5,
"level": 5,
"hp": 5572,
"maxhp": 10000,
"ship": 12,
"score": 36276,
"kills": 2,
"deaths": 3
},
{
"tvs_username": "ailill",
"legion": 2,
"level": 5,
"hp": 10000,
"maxhp": 10000,
"ship": 23,
"score": 34086,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "valdano",
"legion": 2,
"level": 5,
"hp": 7414,
"maxhp": 10000,
"ship": 19,
"score": 33617,
"kills": 1,
"deaths": 3
},
{
"tvs_username": "PB&J",
"legion": 2,
"level": 5,
"hp": 7814,
"maxhp": 10000,
"ship": 13,
"score": 33019,
"kills": 1,
"deaths": 2
},
{
"tvs_username": "Legion",
"legion": 2,
"level": 4,
"hp": 7850,
"maxhp": 8000,
"ship": 5,
"score": 30024,
"kills": 3,
"deaths": 4
},
{
"tvs_username": "TalathTheMage",
"legion": 4,
"level": 4,
"hp": 8000,
"maxhp": 8000,
"ship": 11,
"score": 28494,
"kills": 2,
"deaths": 1
},
{
"tvs_username": "son_of_squid",
"legion": 1,
"level": 4,
"hp": 4434,
"maxhp": 8000,
"ship": 12,
"score": 26387,
"kills": 0,
"deaths": 2
},
{
"tvs_username": "Pjmaster",
"legion": 3,
"level": 4,
"hp": 5482,
"maxhp": 8000,
"ship": 14,
"score": 25978,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "Pharaoh",
"legion": 1,
"level": 4,
"hp": 5931,
"maxhp": 8000,
"ship": 2,
"score": 21631,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "SpiderWolve",
"legion": 2,
"level": 3,
"hp": 5073,
"maxhp": 6000,
"ship": 13,
"score": 14750,
"kills": 4,
"deaths": 3
},
{
"tvs_username": "GojanTorresque",
"legion": 4,
"level": 3,
"hp": 4592,
"maxhp": 6000,
"ship": 21,
"score": 14302,
"kills": 1,
"deaths": 1
},
{
"tvs_username": "12app",
"legion": 3,
"level": 3,
"hp": 5463,
"maxhp": 6000,
"ship": 14,
"score": 13886,
"kills": 1,
"deaths": 4
},
{
"tvs_username": "Omega",
"legion": 1,
"level": 2,
"hp": 3000,
"maxhp": 4000,
"ship": 3,
"score": 5495,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "Wedge",
"legion": 3,
"level": 1,
"hp": 2000,
"maxhp": 2000,
"ship": 6,
"score": 2610,
"kills": 2,
"deaths": 2
},
{
"tvs_username": "gerund",
"legion": 4,
"level": 1,
"hp": 1696,
"maxhp": 2000,
"ship": 10,
"score": 750,
"kills": 0,
"deaths": 3
},
{
"tvs_username": "Morningstar",
"legion": 3,
"level": 1,
"hp": 2000,
"maxhp": 2000,
"ship": 24,
"score": 508,
"kills": 0,
"deaths": 2
},
{
"tvs_username": "jarrok",
"legion": 3,
"level": 1,
"hp": 2000,
"maxhp": 2000,
"ship": 8,
"score": 300,
"kills": 0,
"deaths": 1
},
{
"tvs_username": "Capt_nemo",
"legion": 3,
"level": 1,
"hp": 2000,
"maxhp": 2000,
"ship": 8,
"score": 0,
"kills": 0,
"deaths": 0
},
{
"tvs_username": "Keeliani",
"legion": 3,
"level": 1,
"hp": 2000,
"maxhp": 2000,
"ship": 24,
"score": 0,
"kills": 0,
"deaths": 2
}
]
}