Запуск Python 3.6.5 с Anaconda, я еще не привык к PEP, извините за мой дерьмовый код: P
Я ищу программу, которая проверит HTML-код, где находятся онлайн-игроки и проверит, есть ли в сети Мастера игр. Этот код должен быть предназначен для игроков, которые смотрят фильмы во время игры и имеют «афк» в игре, а bcs не должен быть «афк» - это окно должно их предупредить. Поэтому я сделал такой код (игнорируйте комментарии - я пытался сделать так, чтобы он выглядел лучше с пандами, но слишком много)
Что я ищу?
Я использовал ключевое слово «ADMINS», потому что их гильдия называется ADMINS.
Всякий раз, когда GM появляется в онлайн-списке - появляется окно с некоторым предупреждением (GM онлайн!), НО, когда я использовал многопоточность, код выполняется снова и снова, и появляется все больше и больше окон. Есть ли возможность заставить это окно появляться только один раз и обновлять его через заданный интервал? Или постоянно открывать одно окно, в котором будет отображаться «-», если в сети нет гроссмейстеров, и «GM ONLINE», если они есть?
Я впервые использую tkinter и не совсем уверен, как это сделать сейчас. Если бы вы дали мне пример, это было бы замечательно.
Заранее спасибо !!
import sys
import urllib
import bs4 as bs
from tkinter import *
from tkinter import ttk
import threading
gm = 'ADMINS'
def repeat():
threading.Timer(10, repeat).start()
link = 'https://www.daemu.cz/zebricky/online/'
request = urllib.request.Request(
link, headers={'User-Agent': 'Mozilla/5.0'})
source = urllib.request.urlopen(request).read()
#pocet_na_webpage = re.search('je online (.+?) ', str(source)).group(1)
#df_table = pd.read_html(source)[0]
soup = bs.BeautifulSoup(source, "lxml")
table = soup.table
#filtering = df_table.filter(items=[0,1,3,6])
table_rows = table.find_all('tr')
for tr in table_rows:
td = tr.find_all('td')
row = [i.text for i in td]
#print(row)
if gm in row:
root = Tk()
label = ttk.Label(root, text="GM je ONLINE!")
label.pack()
root.mainloop()
else:
print('-')
repeat()
# prazdny_list = []
# for i in range(0,len(row)):
# if row == gms:
# prazdny_list.append(True)
# else:
# prazdny_list.append(False)
# row['sloupec'] = prazdny_list
# print(row)