Ovaj post ostavljam ovde kao case study iz praktične automatizacije podataka: ne samo „jednokratni parser“, već radni proces koji stabilno živi samostalno i daje koristan rezultat.
Izazov je imao dva dela. Prvi: napraviti parser i deploy-ovati ga tako da radi svaki dan tokom cele godine. Rešenje je radilo preko cron-a: pokretalo se dnevno, parsiralo podatke i dopisivalo arhivu u CSV. Drugi: učiniti podatke preglednim. Za to su se Google Charts pokazali kao dobar izbor; niže su statični screenshot-ovi interaktivnih grafikona (ako se sve interaktivne dijagrame otvore na jednoj stranici, browseru postaje teško).
Ako vam treba parsiranje nečeg sličnog (po rasporedu, sa akumulacijom arhive i normalnom vizualizacijom podataka), pošaljite zadatak kroz brif.
Početni zadatak
Pre godinu dana jedan prijatelj alpinista je napisao: „Evo adresa stranica koje treba pratiti, sve imaju istu strukturu:
- http://www.mountain-forecast.com/peaks/Monte-San-Valentin/forecasts/4058
- http://www.mountain-forecast.com/peaks/Monte-Burney/forecasts/1758
- http://www.mountain-forecast.com/peaks/Lautaro/forecasts/3380
- http://www.mountain-forecast.com/peaks/Monte-Darwin/forecasts/2488
- http://www.mountain-forecast.com/peaks/San-Lorenzo-Patagonia/forecasts/3706
- http://www.mountain-forecast.com/peaks/Cerro-Arenales/forecasts/3437
Pošto na Mac-u nisam imao alat da „zaokružim crveno“ na screenshot-u, napisao sam tekstom šta treba parsirati:
Weather Forecast Issued (local time) - verovatno je bolje razbiti na tri polja: vreme, dan, mesec-godina, da bi kasnije u Excel-u bilo lakše računati prosek.
I tri puta za najbliži dan (kolone am/pm/night) sledeća polja:
- Summary (opis)
- Wind (km/h)
- Snow (cm)
- High °C
- Low °C
- Chill °C
- Freezing level (m)
Mislim da je dovoljno ulaziti jednom dnevno u 9 po Peterburgu, to je 3 ujutro po njihovom vremenu - sigurno će postojati tri kolone za najbliži dan. Sve čuvati, verovatno, u CSV-u“.
Za temperaturu, prosečna vrednost je „prosek preko bolnice“. Trebaju dva odvojena grafikona: maksimalna dnevna i minimalna dnevna temperatura.
+ maksimalna brzina vetra
+ wind chill
Spisak planina u Čileu (Wikipedia)
A evo šta je iz toga ispalo.
Monte Burney

Monte Darwin

Lautaro

Cerro Arenales

San Lorenzo Patagonia

Monte San Valentin






