Search code examples
pythonjsonpython-3.xhtml-parsing

How to get items from parsing web page?


There is a website on which there is a list of game servers. How can I get the data of the top 5 servers in Json format in Python, where they will be specified: 'Server name'(title), 'online'(count). Parsing website link: https://cdn.rage.mp/master/?query=gun Website link: https://rage.mp/masterlist/?query=gun I want to display top 5 server by field "players".


Solution

  • import requests
    
    r = requests.get('https://cdn.rage.mp/master/')
    
    d = sorted(r.json().values(), key=lambda x: x['players'], reverse=True)[0:5]
    
    print(d)
    
    [{'name': '[RolePlay][Voice] GTA5RP.COM | DownTown | gta5rp.com/discord',
      'gamemode': 'roleplay',
      'url': 'https://gta5rp.com/',
      'lang': 'ru',
      'players': 1662,
      'peak': 1716,
      'maxplayers': 5000},
     {'name': '[RolePlay][Voice] GTA5RP.COM | VineWood | gta5rp.com/discord',
      'gamemode': 'roleplay',
      'url': 'https://gta5rp.com/',
      'lang': 'ru',
      'players': 1568,
      'peak': 1578,
      'maxplayers': 5000},
     {'name': '[RolePlay][Voice] GTA5RP.COM | Eclipse | gta5rp.com/discord',
      'gamemode': 'roleplay',
      'url': 'https://gta5rp.com/',
      'lang': 'ru',
      'players': 1459,
      'peak': 1489,
      'maxplayers': 5000},
     {'name': '[RolePlay][Voice] GTA5RP.COM | StrawBerry | gta5rp.com/discord',
      'gamemode': 'roleplay',
      'url': 'https://gta5rp.com/',
      'lang': 'ru',
      'players': 1389,
      'peak': 1397,
      'maxplayers': 5000},
     {'name': '[RolePlay][Voice] GTA5RP.COM | Sunrise | gta5rp.com/discord [1.1]',
      'gamemode': 'roleplay',
      'url': 'https://gta5rp.com/',
      'lang': 'ru',
      'players': 1323,
      'peak': 1337,
      'maxplayers': 3500}]