Ze strony https://www.rugbyworldcup.com/teams/TEAM
(gdzie TEAM = england, georgia itd)
można ściągnąć dane każdej drużyny. Ja ściągnąłem 14 września wszystkie 20 stron dla 20 drużyn
biorących udział w turnieju
i się okazało po obejrzeniu pliku od środka, że w każdym jest explicite
dołączony JavaSciptowy fragment zawierający dane dotyczące zawodników.
(Teraz wygląda na to, że zmieniono sposób generowania
stron i JavaScriptowej wstawki nie ma.)
Jeżeli chodzi o statystki meczów, to startową jest strona
https://www.rugbyworldcup.com/matches
, z której zwykłym grepem można wydłubać URLe do
wszystkich 48 meczy. Ten plik zawiera też opisy meczów w formacie JS (kto gra z kim i kiedy),
dzięki
czemu można ściągnąć pliki dla poszczególnych meczów w bardziej cwany sposób.
Ja zrobiłem skrypt w Perlu, który tworzy plik .sh ściągający wszystkie mecze:
## ściąga tylko mecz rozegrany TODAY if [ "$TODAY" = "20190921" ]; then echo 'Download: France-Argentina => France_Argentina_0921_25292_.html' selenium_get_www_page.py 'https://www.rugbyworldcup.com/match/25292' > France_Argentina_0921_25292_.html ## wyciąga statystyki i zapisuje do pliku .csv perl html2csv.pl -f France_Argentina_0921_25292_.html > France_Argentina_0921_25292_.csv fi
Idea była taka żeby dodać plik do Crontaba na nafisie (czyli raspberry).
Codziennie po południu by się odpalał i ściągał mecze rozegrana tego dnia.
Plik HTML jest deklarowany jako xhtml i nawet jest poprawny (well-formed).
Dzięki temu dość sprawnie udało
mi się zrobić skrypt html2csv.pl
, który
wydłubuje wszystkie dane meczowe i dopisuje je do pliku w formacie CSV.
Przedostatnim krokiem jest uruchomienie skryptu R, który rysuje 6 wykresów słupkowych dla najważniejszych statystyk.
Ostatnim zaś krokiem wysyłanie tego
co zrobił R na twittera (za pomocą tweepy
, codziennie wieczorem).
Baza danych z RWC 2019 jest tutaj.