PWPScraper – jak poznać swoje wyniki w MTG

Niedawno w sieci pojawił się ciekawy programik, napisany przez gracza o nazwisku Benjamin Peebles-Mundy. Pozwala on szybko przetworzyć informacje zawarte w profilu na stronie Planeswalker Points (https://www.wizards.com/Magic/PlaneswalkerPoints) w taki sposób, aby otrzymać raport pokazujący skuteczność danego gracza w zależności od formatu oraz od typu turnieju. W wyniku działania aplikacji dostajemy informacje na temat ilości rozegranych gier, ilości naszych zwycięstw, porażek oraz remisów, a także od razu wyliczoną procentową skuteczność w danej kategorii. Wszystko to zostaje podane w schludnej i przejrzystej tekstowej formie, a opisane zostało na stronie autora: http://www.zizibaloob.com/pwps.html.

Autor powyższego programu poskąpił niestety czasu na dokładniejsze wyjaśnienie obsługi swego dzieła, przez co okazuje się ono dla niektórych trochę nieprzystępne. Poniżej prezentuję Wam krótki tutorial jak sobie poradzić z tym ustrojstwem, a na końcu macie przykład, jak wyglądają takie statystyki.

 

PWPScraper

Po pierwsze, zamiast ściągać pliki ze strony autora, możecie wejść tutaj: http://www.sendspace.com/file/lmvv32. Wrzuciłem tam program już skompilowany, co pozwoli Wam zaoszczędzić troszkę roboty (uwaga: jeśli z jakiegoś powodu ściągnięta wersja nie zadziała, pod koniec artykułu znajduje się sekcja ‚Co może pójść źle’. Znajdziecie tam min. instrukcję samodzielnego skompilowania programu). Klikamy poniższy link:mtg stats 1Po czym zapisujemy sobie archiwum gdzieś na dysku i rozpakowujemy folder ‚pwp’ WinRarem. Uwaga: aby w dalszej części zaoszczędzić sobie trochę czasu związanego wyszukiwaniem folderu, sugeruję od razu zapisać go w następującej lokalizacji: C:\Użytkownicy\Twój_profil.

Teraz czas na przygotowanie swoich wyników tak, aby program je zrozumiał. Odpalamy przeglądarkę (najlepiej Google Chrome. Dlaczego? Patrz sekcja ‚Co może pójść źle’) i logujemy się do swojego profilu na stronie Planeswalker Points, przechodzimy do zakładki ‚History’ i w prawym górnym rogu wybieramy ‚View: Events Only’:

mtg stats 2

Następnie odpalamy JavaScript Console (można użyć skrótu klawiszowego Ctrl + Shift + I albo wejść w Narzędzia → JavaScript Console), wklejamy następujący kod: $(„a.Expand”).click(), klikamy enter i czekamy aż wszystkie turnieje nam się otworzą, co może zająć nawet kilka minut jeśli macie dużo eventów na swym koncie (uwaga: jeśli powyższa komenda z jakiegoś powodu nie działa – musicie ręcznie rozwinąć każdy turniej). Następnie klikamy Ctrl + A żeby wszystko zaznaczyć, Ctrl + C żeby skopiować, otwieramy notatnik (Start → Wszystkie Programy → Akcesoria → Notatnik) i wklejamy (Ctrl + V). Taki oto plik zapisujemy sobie gdzieś na dysku, przy czym najlepiej zrobić to opcją ‚Zapisz jako”, upewniając się, że wybrane jest domyślne kodowanie ANSI:

mtg stats 3
Po otrzymaniu ostrzeżenia o utraconych znakach w wyniku zapisu w ANSI klikamy OK (acz nadal mogą się w tekście pojawić znaki nieobsługiwane – patrz dalej sekcja ‚Co może pójść źle’). Rozszerzenie zachowujemy domyślne, tj. ‚.txt’.

Uwaga: podobnie jak przy folderze pwp, tak i tutaj sugeruję dokonać zapisu w C:\Użytkownicy\Twój_profil

Czas odpalić program i przygotować swoje statystyki. Wchodzimy w wiersz poleceń w Windowsie (Start → wpisujemy ‚cmd’ w oknie wyszukiwania → klikamy enter, ew. wciskamy jednocześnie przycisk z logiem Windows i klawisz R, wpisujemy ‚cmd.exe’ w konsoli ‚Uruchamianie’ i naciskamy enter):

PWP scrapper mtg
Przed naszymi oczami pojawia się czarna konsola z domyślną lokalizacją ustawioną na C:\Users\Twój_profil. Jeżeli folder pwp zapisaliśmy właśnie tam, to wpisujemy następującą komendę: java pwp.PWPScraper ścieżka_do_pliku_z_wynikami jak na przykładzie poniżej:

PWP scrapper mtg 5
Uwaga: wiersz poleceń rozróżnia wielkość znaków

Uwaga 2: jeśli jednak zapisałeś folder pwp gdzie indziej niż sugerowałem wcześniej, to musisz go teraz poszukać – powyższe polecenie należy odpalać z folderu zawierającego tenże folder pwp. Nawigacja w wierszu poleceń: ‚cd nazwa_folderu’ – otwiera dany folder, ‚cd ..’ wychodzi folder w górę. Jak się zgubimy, można wpisać ‚dir’ i otrzymamy zawartość folderu w którym się obecnie znajdujemy. Przeskoki można łączyć, np. ‚cd ..\..’ przeniesie nas od razu 2 foldery w górę. Czyli przykładowo, jeśli rozpakowałeś folder pwp do folderu ‚Program Files’ na dysku C, to powyższą komendę wpisujesz dopiero po następującej sekwencji:

PWP scrapper Magic
Rezultatem powinny być Wasze wyniki w formie tekstowej wyświetlone w konsoli:

PWP scrapper Magic 7
Aby skopiować z konsoli, klikamy prawym przyciskiem myszy na wolnym polu, wybieramy ‚Zaznacz wszystko’, następnie wciskamy Ctrl + C i wklejamy dane do dowolnego edytora (np. notatnika). Zwróćcie uwagę, że w ten sposób skopiujemy także polecenia na początku i końcu wydruku, więc warto je usunąć przed puszczeniem swoich statystyk w świat.

Można też od razu zapisać dane do pliku podczas uruchamiania programu – wtedy wystarczy dodać na końcu polecenia  > nazwa_pliku.txt. (np.:

java pwp.PWPScraper C:\Users\Endrju\myevents.txt > stats.txt

utworzy plik stats.txt w folderze C:\Users\Endrju). Niestety taki plik traci trochę na przejrzystości, bo gubi podział linijek (tj. wszystkie wyniki są wypisane w jednym ciągu) i trzeba sobie potem ręcznie podorabiać ‚entery’.

Celem zwiększenia przejrzystości swoich statystyk, polecam wykorzystać stronkę http://pastebin.mozilla.org/ – po wklejeniu swoich wyników stronka przedstawi je w bardzo sympatycznej formie z automatycznie ponumerowanymi wierszami.

Proste? Proste. O ile po drodze nie wyskoczył żaden błąd Smile Jeśli tak się stało, nie panikuj tylko szukaj rozwiązania poniżej:

 

Co może pójść źle?

1. Po wpisaniu java pwp.PWPScraper ścieżka_do_pliku_z_wynikami w wierszu poleceń otrzymujemy komunikat:

Nazwa ‚java” nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.

Rozwiązanie: Szukamy instalacji Java Runtime Environment na naszym komputerze (domyślnie:  C:\Program Files\Java\jreX, gdzie X to numer wersji). Otwieramy tenże folder, a w nim folder ‚bin’ i kopiujemy ścieżkę do niego, np.: C:\Program Files\Java\jre7\bin. Następnie wchodzimy do menu Start, klikamy prawym przyciskiem myszy na Komputer, wybieramy Właściwości, następnie Zaawansowane Ustawienia Systemu, a tam Zmiennie Środowiskowe (dla Windowsa XP we Właściwościach wybieramy zakładkę Zaawansowane i tam Zmienne Środowiskowe).

PWP scrapper Magic th Gathering
Wybieramy ‚Nowa’ i następnie w nazwie wpisujemy PATH, a w wartości – skopiowaną wcześniej ścieżkę:

PWP scrapper Magic th Gathering 9
Zapisujemy zmiany i otwieramy wiersz poleceń na nowo – polecenie Java powinno już być rozpoznawane.

Uwaga: Po takim zabiegu domyślne komendy systemowe jak ‚ping’ czy ‚ipconfig’ przestaną być rozpoznawalne – aby je później odzyskać, musimy zmiennej PATH przywrócić domyślną ścieżkę, czyli ‚C:\Windows\System32 dla systemu Windows zainstalowanego na dysku C.

 

2. Po uruchomieniu programu otrzymujemy następujący komunikat:

Exception in thread „main” java.lang.StringIndexOutOfBoundsException: String index out of range: 1

Oznacza to w skrócie, że nasz plik tekstowy zawiera informacje, których program nie potrafi ogarnąć. Przykładowo, mogliśmy przypadkowo wybrać także jakiś achievement a nie tylko eventy na stronie Planeswalker Points, lub format zapisu nie odpowiada temu, czego się programik spodziewał. Niestety ta druga opcja może być spowodowana użyciem innej przeglądarki niż zalecana – autor napisał kod pod zapis z Google Chrome, w przypadku innych efekt końcowy troszkę się różni. Przykładowo, Chrome prezentuje każdy wynik w formie:

 2Win(+24) Kowalski, Jan

Podczas gdy np. Firefox zrobi to następująco:

1

Win

(+3)

Malinowski, Michał

Gdzie każdy enter okazuje się niespodziewanym znakiem dla programu i powoduje wywalenie komunikatu o błędzie. Nie wiem jak będzie w przypadku IE, Opery czy jakichkolwiek innych przeglądarek – możecie spróbować, ale jeśli otrzymacie powyższy błąd to po prostu przesiądźcie się na Chrome’a.

 

3. Po uruchomieniu programu otrzymujemy Lifetime Record 0-0 i brak jakichkolwiek szczegółów:

Jest to spowodowane błędnym zakodowanie pliku .txt – dane zapisane z kodowaniem Unicode dawały mi taki właśnie rezultat, podczas gdy zmiana kodowania do ANSI bez żadnego modyfikowania zawartości pozwalała już uzyskać prawidłowe rezultaty. Celem zmiany kodowania otwieramy nasz plik w notatniku, wybieramy Plik → Zapisz Jako → kodowanie ustawiamy na dole okna.

 

4. Po uruchomieniu programu otrzymujemy błąd

Exception in thread „main” java.nio.charset.UnmappableCharacterException: Input

length = 1

W plik .txt wdał nam się jakiś znaczek, którego program nie umie przetworzyć. Trzeba poszukać nietypowych znaczków i zamienić je na coś innego – na pewno problemy są z ‚&’, nie wiem czy z czymś jeszcze.

 

5. Skompilowany program nie chce się uruchomić (albo po prostu chcecie wiedzieć jak sobie to skompilować samodzielnie):

  1. Ściągamy pliki .java ze strony autora programu: http://www.zizibaloob.com/pwps.zip
  2. Rozpakowujemy je do pliku pwp
  3. Upewniamy się, że posiadamy Java Development Kit zainstalowany na komputerze (jeśli nie → http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html  pobieramy odpowiednią wersję)
  4. W zmiennych środowiskowych zmieniamy wartość PATH na folder bin w jdk, nie jre (czyli przykładowo C:\Program Files\Java\jdk1.7.0_25\bin)
  5. W wierszu poleceń wchodzimy do folderu pwp i uruchamiamy następującą komendę:

javac *.java

  1. Powyższe polecenie powinno skompilować program i utworzyć pliki .class w folderze pwp. Wychodzimy folder w górę (‚cd ..’) i uruchamiamy program zgodnie z wcześniejszym opisem (‚java pwp.PWPScraper ścieżka_do_pliku_z_wynikami > ewentualny_plik_do_zapisu’)

 

Oczywiście nie gwarantuję, że to wszystkie problemu z jakimi możecie się spotkać – w razie czego piszcie w komentarzach, a jeśli uda Wam się też od razu znaleźć rozwiązanie, to tym bardziej się nim podzielcie!

Dla przykładu, w spoilerze są lifetime statsy Obera:

Spoiler

Booster Draft:
Overall record: 81-36-5
Win percentage ignoring draws: 69.23076923076923
Win percentage including draws: 66.39344262295081

Standard:
Overall record: 209-111-18
Win percentage ignoring draws: 65.3125
Win percentage including draws: 61.834319526627226

Sealed:
Overall record: 335-112-27
Win percentage ignoring draws: 74.9440715883669
Win percentage including draws: 70.67510548523207

Modern:
Overall record: 11-5-3
Win percentage ignoring draws: 68.75
Win percentage including draws: 57.89473684210527

Legacy:
Overall record: 1-2
Win percentage ignoring draws: 33.33333333333333
Win percentage including draws: 33.33333333333333

Extended:
Overall record: 79-37-15
Win percentage ignoring draws: 68.10344827586206
Win percentage including draws: 60.30534351145038

Trios – Limited:
Overall record: 3-6-1
Win percentage ignoring draws: 33.33333333333333
Win percentage including draws: 30.0

2 HG Sealed:
Overall record: 11-4-2
Win percentage ignoring draws: 73.33333333333333
Win percentage including draws: 64.70588235294117

Vintage:
Overall record: 2-3
Win percentage ignoring draws: 40.0
Win percentage including draws: 40.0

Block Constructed:
Overall record: 36-20-4
Win percentage ignoring draws: 64.28571428571429
Win percentage including draws: 60.0

——————————————————-

Magic Tournament:
Overall record: 32-13-5
Win percentage ignoring draws: 71.11111111111111
Win percentage including draws: 64.0

Magic Grand Prix:
Overall record: 54-29-3
Win percentage ignoring draws: 65.06024096385542
Win percentage including draws: 62.7906976744186

Magic Grand Prix Trial:
Overall record: 74-50-6
Win percentage ignoring draws: 59.67741935483871
Win percentage including draws: 56.92307692307692

Magic Pro Tour Qualifier:
Overall record: 125-44-26
Win percentage ignoring draws: 73.96449704142012
Win percentage including draws: 64.1025641025641

World Magic Cup Qualifier:
Overall record: 26-14
Win percentage ignoring draws: 65.0
Win percentage including draws: 65.0

Friday Night Magic:
Overall record: 8-3
Win percentage ignoring draws: 72.72727272727273
Win percentage including draws: 72.72727272727273

Magic Prerelease:
Overall record: 192-54-10
Win percentage ignoring draws: 78.04878048780488
Win percentage including draws: 75.0

Magic WPN Premium Tournament Qualifier:
Overall record: 1-2
Win percentage ignoring draws: 33.33333333333333
Win percentage including draws: 33.33333333333333

Public Event at Grand Prix:
Overall record: 3-5
Win percentage ignoring draws: 37.5
Win percentage including draws: 37.5

Magic Launch Party:
Overall record: 24-9-1
Win percentage ignoring draws: 72.72727272727273
Win percentage including draws: 70.58823529411765

Magic National Championship – Closed:
Overall record: 17-12
Win percentage ignoring draws: 58.620689655172406
Win percentage including draws: 58.620689655172406

Magic Event (TO Level 2 and Higher):
Overall record: 34-10-3
Win percentage ignoring draws: 77.27272727272727
Win percentage including draws: 72.3404255319149

Magic National Championship:
Overall record: 32-14-3
Win percentage ignoring draws: 69.56521739130434
Win percentage including draws: 65.3061224489796

Magic Pro Tour:
Overall record: 19-15
Win percentage ignoring draws: 55.88235294117647
Win percentage including draws: 55.88235294117647

Magic Worlds Team Competition:
Overall record: 1-3
Win percentage ignoring draws: 25.0
Win percentage including draws: 25.0

Magic World Championships (1996-2011):
Overall record: 10-8
Win percentage ignoring draws: 55.55555555555556
Win percentage including draws: 55.55555555555556

Magic European Championship:
Overall record: 5-1-1
Win percentage ignoring draws: 83.33333333333334
Win percentage including draws: 71.42857142857143

Magic:
Overall record: 103-47-17
Win percentage ignoring draws: 68.66666666666667
Win percentage including draws: 61.67664670658682

8 players Side Events:
Overall record: 6-0
Win percentage ignoring draws: 100.0
Win percentage including draws: 100.0

Magic National Qualifier:
Overall record: 2-3
Win percentage ignoring draws: 40.0
Win percentage including draws: 40.0

——————————————————-

Lifetime record: 768-336-75
Win percentage ignoring draws: 69.56521739130434
Win percentage including draws: 65.13994910941476

P.S. – Taka opcja dla leniwych – jako alternatywa, macie też ten serwis: http://www.kavu.ru/


Andrzej Łysek red Magic the GatheringAndrzej „Łysy” Łysek – gracz z Krakowa, pojawiający się na turniejach od wyjścia Shadowmoora. Regularny bywalec wszelakich większych imprez magicowych, jak dotąd bez dużych sukcesów na koncie. Na MtGNews kryjący się pod nickiem Swierknieta_jodla, na MTGO występujący jako Endrju, a i tak dla wszystkich znany jako Łysy.

Poza Magiciem głównym jego konikiem jest rock progresywny i gra na gitarze basowej.

 

 

 

 

Print Friendly, PDF & Email

Komentarze