Je fabrique un bot qui obtient des informations à partir d'une API, le problème est que cela me donne beaucoup de données et que je n'ai besoin que de quelque chose en particulier. J'ai juste besoin d'obtenir l'équilibre, le statut de mineur et le hashrate.
import os import discord import requests from bs4 import BeautifulSoup token = "DISCORD_TOKEN" url = "https://eth.crazypool.org/api/accounts/0x54DcB3b38d05940d3A88ADeff5B57f15f7F64A02" headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36'} client = discord.Client() @client.event async def on_ready(): await client.change_presence(activity=discord.Game(name="Mining eth")) print("On!") @client.event async def on_message(message): page = requests.get(url, headers=headers) jk = BeautifulSoup(page.content, "html.parser") if message.content == "!miner": await message.channel.send(jk) if message.content == "!balance": await message.channel.send(jk) if message.content == "!shares": await message.channel.send(jk) client.run(token)
3 Réponses :
Vous pouvez utiliser requests.json () ce que vous auriez à faire est
page = page.json() balance = page["stats"]["balance"]
Et ce que cela fait, c'est qu'il entre dans la section "stats" des données json puis dans la "balance" qui, si vous print(balance)
, imprimera la balance.
Utilisez requests.json () puis allez simplement dans les "stats" puis "balance"
demandes.json () vous donnera la sortie sous forme de json, vous pourrez alors simplement la traiter comme si c'était la bibliothèque json.
Le contenu de la chaîne semble au format JSON, il peut donc être converti en données Python à l'aide du module
json
intégré. Cela peut donc vous faciliter la tâche.