Lo script scarica informazioni dalla pagina di un alleanza su mmorpg-stat.eu, quindi dovete inserire il relativo link all'interno dello script.
Esempio:
- cliccando il link precedente ci rechiamo sulla homepage del sito
- in alto clicchiamo OGAME.FR e poi OGAME.IT
- subito a destra clicchiamo su Kalyke e poi su Tarazed
- in alto a destra sotto la barra di ricerca clicchiamo ALLIANCE e poi nella barra scriviamo ovo e diamo invio
- apriamo la pagina dell'alleanza
- ci rechiamo su repl.it/languages/Python3 e nell'editor di testo incolliamo lo script presente in fondo al thread
- copiamo l'url della pagina dell'alleanza dalla barra degli indirizzi del browser
- incolliamo l'url in riga 5 in mezzo ai due simboli '' in modo da ottenere url = 'https://www.mmorpg-stat.eu/0_fiche_alliance.php?pays=5&ftr=500237.all&univers=_146'
- in alto clicchiamo su run e attendiamo la fine dell'esecuzione dello script, raggiunta quando comprare il simbolo > nel terminale
- a sinistra clicchiamo sul file punteggi.csv dove su ogni riga sono presenti le % di incremento del punteggio per ciascun giocatore attivo dell'alleanza
- per scarica il file cliccare sui tre pallini disposti in verticale a fianco del simbolo della cartella e poi cliccare Download as zip
- estrarre il file punteggi.csv e aprirlo con excel o simili
- selezionare la prima colonna e ordinarla dal più grande al più piccolo
- colorare a piacimento
- selezionare e incollare nella chat telegram e cliccare Inviare come foto
Ovviamente se avete Python installato sul vostro computer potete eseguire lo script in locale, previa installazione degli appositi pacchetti.
Code
- import requests, urllib.request, time, unicodedata, csv
- from bs4 import BeautifulSoup
- nomi,score = [],[]
- url = ''
- server = url[len(url)-3:len(url)] # ID del server
- response = requests.post(url, data = {'statview': 2})
- soup = BeautifulSoup(response.text, "html.parser")
- all = soup.find('form',{'name':'form_compare1'}).tbody.find_all('tr')
- for i, el in enumerate(all):
- if all[i].find_all('td')[3].text == '': # se il giocatore è attivo
- nomi.append(all[i].td.find_all('input')[2]['value']) # nome
- print(nomi[len(nomi)-1])
- codice = all[i].td.find_all('input')[1]['value'] # 6-codice per l'url
- url = 'https://www.mmorpg-stat.eu/0_fiche_joueur.php?pays=5&ftr=' + str(codice) + '.dat&univers=_' + server + '&statview=3&mlp=0'
- response = requests.get(url)
- soupp = BeautifulSoup(response.text, "html.parser")
- string = soupp.find_all('div',{'class':'titre_graph_ext'})[1].find_all('span')[1].text # % punteggio
- clean = unicodedata.normalize("NFKD", string) # rimuove \xa0
- score.append(clean[clean.find(')')+1:len(clean)])
- time.sleep(3) # per evitare il reCAPTCHA
- filename = 'punteggi.csv'
- with open(filename, 'a') as csv_file:
- writer = csv.writer(csv_file)
- for i in range(len(nomi)):
- writer.writerow([score[i],nomi[i]])