Skip to content

A parser for the website of the Romanian Computer Science Olympics, county stage (olimpiada.info). The rest of this repository is in Romanian. If you need English translations, please contact us.

License

Notifications You must be signed in to change notification settings

CatalinFrancu/oji-score-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oji-score-parser

Aceste scripturi descarcă și indexează paginile referitoare la OJI de pe site-ul olimpiada.info. Pe acest site apar doar clasamente județene. Scopul scripturilor este să interclaseze clasamentele județene pentru a publica un clasament național.

Sistemul este făcut un pic pe genunchi, din lipsă de timp. Fișierele HTML de la olimpiada.info au multe incorectitudini. Ca să le putem totuși parsa fără intervenție manuală, folosim Simple HTML DOM Parser, o bibliotecă destul de învechită, dar care se descurcă cu parsarea.

Sistemul are două componente:

downloader.php

Acest program:

  1. Descarcă paginile-index cu toate județele, pentru gimnaziu și pentru liceu (de exemplu liceu 2015).
  2. Urmează link-urile din tabel către clasamentele județene și le descarcă.

Programul salvează paginile HTML în fișierul raw/<an>-<clasă>-<județ>.html. De exemplu, 2015, București clasa a 11-a este salvat în raw/2015-11-10.html (codul Bucureștiului la olimpiada.info se întâmplă să fie 10).

Paginile deja existente în directorul raw nu mai sunt redescărcate în mod normal.

Opțiuni:

  • În downloader.php puteți modifica constanta DOWNLOAD_YEARS pentru a descărca alți ani.
  • Puteți pasa argumentul --force în linia de comandă pentru a forța descărcarea tuturor clasamentelor județene, inclusiv a celor deja existente în raw/. Acest argument poate fi util, căci paginile sunt actualizate ocazional cu informații noi (elevi retrași etc.).

oji-score-parser.php

Acest program:

  1. Parsează fișierele descărcate în directorul raw/, pentru anii specificați.
  2. Generează pagini HTML cu clasamente naționale prin interclasarea clasamentelor județene.
  3. Generează fișiere CSV corespunzătoare.

Programul salvează paginile HTML în directorul www/, care în final este publicabil undeva pe Internet. Pentru anii trecuți, clasamentele naționale sunt disponibile la algopedia.ro/oji2017. Directorul www/ include deja fișierele JavaScript și CSS necesare.

Opțiuni:

  • Constanta PROCESS_YEARS specifică anii pentru care doriți regenerarea fișierelor HTML (pentru toate clasele 5-12).
  • Constanta LINK_YEARS specifică anii pe care doriți să-i conțină drop down-ul din antet (legături către alte clasamente generate din anii anteriori).
  • Fișierul www/.htaccess specifică fișierul HTML care doriți să fie prezentat ca index.

About

A parser for the website of the Romanian Computer Science Olympics, county stage (olimpiada.info). The rest of this repository is in Romanian. If you need English translations, please contact us.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published