Я уверен, что это, вероятно, что-то действительно простое ...
Я пытаюсь воспроизвести текущую песню и текущий 'dj' с моего сервера plug.dj, используя l xml и запросить , Сейчас я сосредоточен на попытке получить текст для текущего dj, вот соответствующий код:
import discord
import os
import asyncio
import csv
import requests
import lxml.html
from keep_alive import keep_alive
#Base GLOBAL variable pool, GLOBAL variables initialized here.
BOT_PREFIX = ".river"
client = discord.Client()
#On Initialization
@client.event
async def on_ready():
print("River bot initialized.")
#Status Changer Event
async def status_changer():
await client.wait_until_ready()
while not client.is_closed():
filE = csv.reader(open("properties.csv"))
filE_lines = list(filE)
MusicURL1 = filE_lines[1][1]
if MusicURL1 != "":
html = requests.get("https://plug.dj/4204681060305555241")
doc = lxml.html.fromstring(html.content)
current_dj = doc.xpath('/html/body/div[1]/div[2]/div[1]/div[5]/div[2]/div[2]/div[1]/p[2]/span')
current_song = doc.xpath('//p[@class="community__song-playing"]/text()')
if current_dj == "Nobody is playing":
await client.change_presence(activity=discord.Game(name="type .help"))
else:
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=current_song))
print(current_dj)
print(current_song)
await asyncio.sleep(30) #runs every 30 sec
Желаемый результат заключается в том, что current_dj и current_song печатают соответствующие текстовые значения, поэтому прямо сейчас для current_dj это должно быть: ['Nobody is playing']
К сожалению, все, что печатает, это пустые скобки: []
Мне было интересно, может ли кто-нибудь помочь мне понять, что я делаю неправильно? Любая помощь очень ценится. Спасибо!