Subpage under development, new version coming soon!
Subject: »poradnik Baza zawodników
Mikoos to
All
Kilka osób prosiło mnie o utworzenie bazy ze wszystkimi zawodnikami z sokkera, więc ją zrobiłem. :) Ta baza zawiera ogólnodostępne dane, np. zawiera takie rzeczy jak wartość zawodnika, szacowaną wartość przy nadboskiej formie, oceny meczowe i formacje w jakich zawodnicy grali, dokładna lista niżej. Zawiera również skille zawodników w dniu ich ostatniego transferu, jeśli transfer ten odbył się po 2021-12-27.
Żeby skorzystać z bazy trzeba:
1. Pobrać na komputer z plik players.db z tą bazą: https://drive.google.com/uc?id=1df6KEz96f2LzUeia3B8OTvS65mP_kToK (zmieniłem z MEGA na Google Drive).
2. Pobrać i zainstalować (lub rozpakować jeśli wybraliśmy wersję .zip) program do przeglądania baz danych SQLite, ja korzystam z DB Browser for SQLite: https://sqlitebrowser.org/dl/, dalsza instrukcja będzie dotyczyła korzystania właśnie z tego programu
3. Otworzyć program DB Browser for SQLite, kliknąć w nim z menu "Plik", "Otwórz bazę danych...", wybrać pobrany wcześniej plik players.db
4. Przejść do zakładki "Przeglądarka danych", tam można wybrać jedną z dwóch tabel: players i players_compact
Pierwsza tabela, players, ma pola (kolumny):
- id - numer wiersza w tabeli
- pid - id zawodnika w sokkerze, doklejając to id do końca adresu https://sokker.org/player/PID/ można uzyskać stronę zawodnika w sokkerze
- team_id - id zespołu zawodnika
- name - imię i nazwisko zawodnika
- country - id kraju z którego pochodzi zawodnik, id kraju który nas interesuje można uzyskać np. na stronie Świat: https://sokker.org/world, to jest liczba na lewo od flagi kraju w tabeli na dole
- age - wiek zawodnika
- height - wzrost zawodnika
- weight - waga zawodnika, pomnożona przez 10 żeby nie było liczb po przecinku
- value - wartość zawodnika (w dolarach/euro, żeby uzyskać złotówki trzeba pomnożyć przez 4)
- value_adjusted - wartość zawodnika jaką by miał, gdyby był w nadboskiej formie (z dokładnością do ±2%)
- wage - pensja zawodnika (w dolarach/euro)
- form - forma zawodnika (liczbowo, 0 - tragiczna, 18 - nadboska)
- goals, assists, matches - zwykłe gole, asysty i liczba zwykłych meczów zawodnika
- nt_goals, nt_assists, nt_matches - reprezentacyjne gole, asysty i liczba reprezentacyjnych meczów zawodnika
- nt_status - informacja o tym, czy zawodnik jest aktualnie w reprezentacji; 0 - nie jest, 1 - jest w dorosłej reprezentacji, 2 - jest w młodzieżowej reprezentacji
- season - sezon w którym ostatnio zawodnik był na liście transferowej (NULL oznacza brak danych)
- week - tydzień sezonu w którym ostatnio zawodnik był na liście transferowej (NULL oznacza brak danych)
- weeks_ago - ile tygodni temu zawodnik był ostatnio na liście transferowej (NULL oznacza brak danych)
- stam - kondycja w momencie ostatniego transferu (NULL oznacza brak danych, tak jak dla pozostałych skilli)
- pace - szybkość w momencie ostatniego transferu
- tech - technika w momencie ostatniego transferu
- pass - podania w momencie ostatniego transferu
- gk - skill bramkarza w momencie ostatniego transferu
- def - obrona w momencie ostatniego transferu
- play - rozgrywanie w momencie ostatniego transferu
- str - strzał w momencie ostatniego transferu
- exp, tw, disc - doświadczenie, zgranie, dyscyplina taktyczna zawodnika
- best_note - najlepsza ocena zawodnika wśród ostatnich kilkunastu meczów rozegranych w jego klubie (NULL oznacza, że nie zagrał w żadnym z tych meczów)
- main_order - formacja w której zawodnik grał ostatnio najczęściej
- best_note_order - formacja w której zawodnik uzyskał najwyższą ocenę z ostatnio granych meczów
- avg_note - średnia ocena wśród ostatnio rozegranych meczów
- all_notes - wszystkie oceny z ostatnio rozegranych meczów (w kolejności od najnowszego)
- all_orders - wszystkie formacje w których zawodnik ostatnio zagrał, (w kolejności od najnowszego)
- match_ids - id meczów w których zawodnik ostatnio zagrał (w kolejności od najnowszego)
Tabela players się mocno rozrosła po dodaniu skilli, dlatego dodałem też tabelę players_compact, która zawiera tylko najważniejsze informacje, powinna być przyjemniejsza do przeglądania:
- pid - id zawodnika w sokkerze, doklejając to id do końca adresu https://sokker.org/player/PID/ można uzyskać stronę zawodnika w sokkerze
- name - imię i nazwisko zawodnika
- team_id - id zespołu zawodnika
- ctry - id kraju z którego pochodzi zawodnik, id kraju który nas interesuje można uzyskać np. na stronie Świat: https://sokker.org/world, to jest liczba na lewo od flagi kraju w tabeli na dole
- age - wiek zawodnika
- nt_status - informacja o tym, czy zawodnik jest aktualnie w reprezentacji; 0 - nie jest, 1 - jest w dorosłej reprezentacji, 2 - jest w młodzieżowej reprezentacji
- value - wartość zawodnika (w dolarach/euro, żeby uzyskać złotówki trzeba pomnożyć przez 4)
- value_adj - wartość zawodnika jaką by miał, gdyby był w nadboskiej formie (z dokładnością do ±2%)
- form - forma zawodnika (liczbowo, 0 - tragiczna, 18 - nadboska)
- weeks_ago - ile tygodni temu zawodnik był ostatnio na liście transferowej (NULL oznacza brak danych)
- stam - kondycja w momencie ostatniego transferu (NULL oznacza brak danych, tak jak dla pozostałych skilli)
- pace - szybkość w momencie ostatniego transferu
- tech - technika w momencie ostatniego transferu
- pass - podania w momencie ostatniego transferu
- gk - skill bramkarza w momencie ostatniego transferu
- def - obrona w momencie ostatniego transferu
- play - rozgrywanie w momencie ostatniego transferu
- str - strzał w momencie ostatniego transferu
- disc - dyscyplina taktyczna zawodnika
- avg - średnia ocena wśród ostatnio rozegranych meczów
- best - najlepsza ocena zawodnika wśród ostatnich kilkunastu meczów rozegranych w jego klubie (NULL oznacza, że nie zagrał w żadnym z tych meczów)
- main_order - formacja w której zawodnik grał ostatnio najczęściej
- best_order - formacja w której zawodnik uzyskał najwyższą ocenę z ostatnio granych meczów
5. Aby przefiltrować dane należy wpisać odpowiedni tekst w pole Filtr pod nazwą odpowiedniej kolumny:
- jeśli chcemy uzyskać wyniki z dokładnie tą wyszukiwaną wartością należy poprzedzić tę wartość znakiem =, np. jeśli chcemy uzyskać tylko zawodników z Polski należy w filtrze w kolumnie country / ctry wpisać tekst: =1
- jeśli chcemy uzyskać tylko zawodników młodzieżowych należy wpisać w kolumnie age <=21 (albo <22), podobnie jak chcemy tylko starszych to należy tam wpisać >=22 (albo >21), tak samo się wszędzie indziej filtruje wartości mniejsze-równe / mniejsze / większe-równe / większe
- jeśli nie chcemy mieć w wynikach bramkarzy to należy w polach main_order i best_note_order wpisać tekst: /^((?!GK).)*$/
- jeśli chcemy wyniki tylko z jakiegoś zakresu, np. wiek od 25 do 30 lat to należy wpisać w filtr age tekst: 25~30
6. Aby sortować wyniki po danej kolumnie należy kliknąć na nazwę tej kolumny, jedno kliknięcie spowoduje sortowanie od najniższej wartości, a drugie kliknięcie od najwyższej wartości
7. Aby usunąć wprowadzone filtry / sortowanie należy kliknąć nad tabelą na przyciski: "Wyczyść wszystkie filtry", "Przywróć porządek wierszy do domyślnego"
8. Kolumny można ukrywać (prawym przyciskiem myszy na kolumnę -> Ukryj kolumnę/y), ale po wprowadzeniu jakiegokolwiek filtra kolumny ukryte kolumny pojawiają się na nowo, więc polecam korzystać z ukrywania kolumn jak już wprowadzimy wszystkie filtry i sortowanie
Przykładowe wyszukanie zawodników U21 z Polski, nie-bramkarzy, posortowanych po średniej nocie meczowej, z ukrytymi niektórymi kolumnami:
9. Jeśli chcemy mieć wszystkie wartości w złotówkach zamiast w euro/dolarach to przechodzimy do zakładki "Polecenia SQL", w polu "SQL 1" wpisujemy:
UPDATE players SET value = value*4, value_adjusted = value_adjusted*4, wage = wage*4
klikamy RAZ (i nigdy więcej na tej bazie) przycisk uruchomienia polecenia:
przechodzimy z powrotem do zakładki "Przeglądarka danych", odświeżamy widok (np. naciskając F5 na klawiaturze), wartości będą w tej bazie już zawsze w złotówkach (do momentu pobrania pliku z bazą od nowa)
10. Jak ktoś ma jakiekolwiek pytania to proszę je pisać tutaj, nie będę odpisywał na wiadomości prywatne dotyczące tej bazy
- plik z bazą danych będzie aktualizowany co tydzień, w poniedziałki. Po tym jak ten plik zaktualizuję trzeba go sobie oczywiście pobrać na nowo żeby mieć aktualną bazę.
(edited)
(edited)
Żeby skorzystać z bazy trzeba:
1. Pobrać na komputer z plik players.db z tą bazą: https://drive.google.com/uc?id=1df6KEz96f2LzUeia3B8OTvS65mP_kToK (zmieniłem z MEGA na Google Drive).
2. Pobrać i zainstalować (lub rozpakować jeśli wybraliśmy wersję .zip) program do przeglądania baz danych SQLite, ja korzystam z DB Browser for SQLite: https://sqlitebrowser.org/dl/, dalsza instrukcja będzie dotyczyła korzystania właśnie z tego programu
3. Otworzyć program DB Browser for SQLite, kliknąć w nim z menu "Plik", "Otwórz bazę danych...", wybrać pobrany wcześniej plik players.db
4. Przejść do zakładki "Przeglądarka danych", tam można wybrać jedną z dwóch tabel: players i players_compact
Pierwsza tabela, players, ma pola (kolumny):
- id - numer wiersza w tabeli
- pid - id zawodnika w sokkerze, doklejając to id do końca adresu https://sokker.org/player/PID/ można uzyskać stronę zawodnika w sokkerze
- team_id - id zespołu zawodnika
- name - imię i nazwisko zawodnika
- country - id kraju z którego pochodzi zawodnik, id kraju który nas interesuje można uzyskać np. na stronie Świat: https://sokker.org/world, to jest liczba na lewo od flagi kraju w tabeli na dole
- age - wiek zawodnika
- height - wzrost zawodnika
- weight - waga zawodnika, pomnożona przez 10 żeby nie było liczb po przecinku
- value - wartość zawodnika (w dolarach/euro, żeby uzyskać złotówki trzeba pomnożyć przez 4)
- value_adjusted - wartość zawodnika jaką by miał, gdyby był w nadboskiej formie (z dokładnością do ±2%)
- wage - pensja zawodnika (w dolarach/euro)
- form - forma zawodnika (liczbowo, 0 - tragiczna, 18 - nadboska)
- goals, assists, matches - zwykłe gole, asysty i liczba zwykłych meczów zawodnika
- nt_goals, nt_assists, nt_matches - reprezentacyjne gole, asysty i liczba reprezentacyjnych meczów zawodnika
- nt_status - informacja o tym, czy zawodnik jest aktualnie w reprezentacji; 0 - nie jest, 1 - jest w dorosłej reprezentacji, 2 - jest w młodzieżowej reprezentacji
- season - sezon w którym ostatnio zawodnik był na liście transferowej (NULL oznacza brak danych)
- week - tydzień sezonu w którym ostatnio zawodnik był na liście transferowej (NULL oznacza brak danych)
- weeks_ago - ile tygodni temu zawodnik był ostatnio na liście transferowej (NULL oznacza brak danych)
- stam - kondycja w momencie ostatniego transferu (NULL oznacza brak danych, tak jak dla pozostałych skilli)
- pace - szybkość w momencie ostatniego transferu
- tech - technika w momencie ostatniego transferu
- pass - podania w momencie ostatniego transferu
- gk - skill bramkarza w momencie ostatniego transferu
- def - obrona w momencie ostatniego transferu
- play - rozgrywanie w momencie ostatniego transferu
- str - strzał w momencie ostatniego transferu
- exp, tw, disc - doświadczenie, zgranie, dyscyplina taktyczna zawodnika
- best_note - najlepsza ocena zawodnika wśród ostatnich kilkunastu meczów rozegranych w jego klubie (NULL oznacza, że nie zagrał w żadnym z tych meczów)
- main_order - formacja w której zawodnik grał ostatnio najczęściej
- best_note_order - formacja w której zawodnik uzyskał najwyższą ocenę z ostatnio granych meczów
- avg_note - średnia ocena wśród ostatnio rozegranych meczów
- all_notes - wszystkie oceny z ostatnio rozegranych meczów (w kolejności od najnowszego)
- all_orders - wszystkie formacje w których zawodnik ostatnio zagrał, (w kolejności od najnowszego)
- match_ids - id meczów w których zawodnik ostatnio zagrał (w kolejności od najnowszego)
Tabela players się mocno rozrosła po dodaniu skilli, dlatego dodałem też tabelę players_compact, która zawiera tylko najważniejsze informacje, powinna być przyjemniejsza do przeglądania:
- pid - id zawodnika w sokkerze, doklejając to id do końca adresu https://sokker.org/player/PID/ można uzyskać stronę zawodnika w sokkerze
- name - imię i nazwisko zawodnika
- team_id - id zespołu zawodnika
- ctry - id kraju z którego pochodzi zawodnik, id kraju który nas interesuje można uzyskać np. na stronie Świat: https://sokker.org/world, to jest liczba na lewo od flagi kraju w tabeli na dole
- age - wiek zawodnika
- nt_status - informacja o tym, czy zawodnik jest aktualnie w reprezentacji; 0 - nie jest, 1 - jest w dorosłej reprezentacji, 2 - jest w młodzieżowej reprezentacji
- value - wartość zawodnika (w dolarach/euro, żeby uzyskać złotówki trzeba pomnożyć przez 4)
- value_adj - wartość zawodnika jaką by miał, gdyby był w nadboskiej formie (z dokładnością do ±2%)
- form - forma zawodnika (liczbowo, 0 - tragiczna, 18 - nadboska)
- weeks_ago - ile tygodni temu zawodnik był ostatnio na liście transferowej (NULL oznacza brak danych)
- stam - kondycja w momencie ostatniego transferu (NULL oznacza brak danych, tak jak dla pozostałych skilli)
- pace - szybkość w momencie ostatniego transferu
- tech - technika w momencie ostatniego transferu
- pass - podania w momencie ostatniego transferu
- gk - skill bramkarza w momencie ostatniego transferu
- def - obrona w momencie ostatniego transferu
- play - rozgrywanie w momencie ostatniego transferu
- str - strzał w momencie ostatniego transferu
- disc - dyscyplina taktyczna zawodnika
- avg - średnia ocena wśród ostatnio rozegranych meczów
- best - najlepsza ocena zawodnika wśród ostatnich kilkunastu meczów rozegranych w jego klubie (NULL oznacza, że nie zagrał w żadnym z tych meczów)
- main_order - formacja w której zawodnik grał ostatnio najczęściej
- best_order - formacja w której zawodnik uzyskał najwyższą ocenę z ostatnio granych meczów
5. Aby przefiltrować dane należy wpisać odpowiedni tekst w pole Filtr pod nazwą odpowiedniej kolumny:
- jeśli chcemy uzyskać wyniki z dokładnie tą wyszukiwaną wartością należy poprzedzić tę wartość znakiem =, np. jeśli chcemy uzyskać tylko zawodników z Polski należy w filtrze w kolumnie country / ctry wpisać tekst: =1
- jeśli chcemy uzyskać tylko zawodników młodzieżowych należy wpisać w kolumnie age <=21 (albo <22), podobnie jak chcemy tylko starszych to należy tam wpisać >=22 (albo >21), tak samo się wszędzie indziej filtruje wartości mniejsze-równe / mniejsze / większe-równe / większe
- jeśli nie chcemy mieć w wynikach bramkarzy to należy w polach main_order i best_note_order wpisać tekst: /^((?!GK).)*$/
- jeśli chcemy wyniki tylko z jakiegoś zakresu, np. wiek od 25 do 30 lat to należy wpisać w filtr age tekst: 25~30
6. Aby sortować wyniki po danej kolumnie należy kliknąć na nazwę tej kolumny, jedno kliknięcie spowoduje sortowanie od najniższej wartości, a drugie kliknięcie od najwyższej wartości
7. Aby usunąć wprowadzone filtry / sortowanie należy kliknąć nad tabelą na przyciski: "Wyczyść wszystkie filtry", "Przywróć porządek wierszy do domyślnego"
8. Kolumny można ukrywać (prawym przyciskiem myszy na kolumnę -> Ukryj kolumnę/y), ale po wprowadzeniu jakiegokolwiek filtra kolumny ukryte kolumny pojawiają się na nowo, więc polecam korzystać z ukrywania kolumn jak już wprowadzimy wszystkie filtry i sortowanie
Przykładowe wyszukanie zawodników U21 z Polski, nie-bramkarzy, posortowanych po średniej nocie meczowej, z ukrytymi niektórymi kolumnami:
9. Jeśli chcemy mieć wszystkie wartości w złotówkach zamiast w euro/dolarach to przechodzimy do zakładki "Polecenia SQL", w polu "SQL 1" wpisujemy:
UPDATE players SET value = value*4, value_adjusted = value_adjusted*4, wage = wage*4
klikamy RAZ (i nigdy więcej na tej bazie) przycisk uruchomienia polecenia:
przechodzimy z powrotem do zakładki "Przeglądarka danych", odświeżamy widok (np. naciskając F5 na klawiaturze), wartości będą w tej bazie już zawsze w złotówkach (do momentu pobrania pliku z bazą od nowa)
10. Jak ktoś ma jakiekolwiek pytania to proszę je pisać tutaj, nie będę odpisywał na wiadomości prywatne dotyczące tej bazy
- plik z bazą danych będzie aktualizowany co tydzień, w poniedziałki. Po tym jak ten plik zaktualizuję trzeba go sobie oczywiście pobrać na nowo żeby mieć aktualną bazę.
(edited)
(edited)
Super robota, dla selekcjonerów na pewno będzie przydatne :)
Super, jutro będę ogarniał temat! Zobaczymy czy jacyś Anglicy się przede mną nie ukryli :)
(edited)
(edited)
Super robota, nie jeden z nas skorzysta jak nie teraz to w przyszłości.
Dziękujemy:)
Fajnie że cały czas coś się dzieje, i powstają nowe inicjatywy. Oby tak dalej.
Dziękujemy:)
Fajnie że cały czas coś się dzieje, i powstają nowe inicjatywy. Oby tak dalej.
Super robota Mikoosa, ale kolejny raz user wykonuje robotę za właścicieli tego serwisu. To powinno być zaimplementowane w grę.
@Loczek, ogarnij się!
@Loczek, ogarnij się!
ej tam już nie narzekajmy, chociaż mamy co robić w wolnej chwili
Liczy się fan:)
Liczy się fan:)
a aktualizacja jest na pewno na 11.04?, bo mi się sporo wartości rozjeżdżają
Pięknie! może przypniemy do tematu obecnie dostępny marker "poradnik"? Będzie łatwiej filtrować.
@Jurro, @Borwoy, @Damianek1410, @crisr Spoko :)
@mangol Było szybciej robić, ja to już od miesiąca na później odkładałem :P
@Axaros Samo napisanie skryptu do zbierania zajęło może z 6 godzin. Skrypt ma 383 linie, z czego 30% zajmuje lista lig we wszystkich krajach. :P Tak do z oddali wygląda:
Dane się ze 2-3 godziny zbierają, jakieś sto tysięcy XMLi się musi pobrać, z czego 80% to XMLe z meczów
@crisr Wziąłeś pod uwagę że wartości są w euro i trzeba je przez cztery pomnożyć? I to, że value_adjusted to jest tylko przewidywana wartość gdyby zawodnik miał formę nadboską? U mnie się wszystko pokrywa, więc powinno być dobrze.
@Arkady Spoko, może być taki marker, pewnie nikt po tym wyszukiwać nie będzie, ale będzie ładniej wyglądało :P
na Sokker International zrobiłem temat w języku angielskim, tam możesz NT przypiąć, tak ma tam przypięte podobna baza "Scouting database"
(edited)
@mangol Było szybciej robić, ja to już od miesiąca na później odkładałem :P
@Axaros Samo napisanie skryptu do zbierania zajęło może z 6 godzin. Skrypt ma 383 linie, z czego 30% zajmuje lista lig we wszystkich krajach. :P Tak do z oddali wygląda:
Dane się ze 2-3 godziny zbierają, jakieś sto tysięcy XMLi się musi pobrać, z czego 80% to XMLe z meczów
@crisr Wziąłeś pod uwagę że wartości są w euro i trzeba je przez cztery pomnożyć? I to, że value_adjusted to jest tylko przewidywana wartość gdyby zawodnik miał formę nadboską? U mnie się wszystko pokrywa, więc powinno być dobrze.
@Arkady Spoko, może być taki marker, pewnie nikt po tym wyszukiwać nie będzie, ale będzie ładniej wyglądało :P
na Sokker International zrobiłem temat w języku angielskim, tam możesz NT przypiąć, tak ma tam przypięte podobna baza "Scouting database"
(edited)