Sortering og håndtering af data :)

Tags:    php

Hej,

Jeg er pt igang med at lave et script der ripper mit skole skema fordi deres side er så elendig.

Jeg har et fungerende program men det er utroligt ressource krævende og det er simpelthen ikke godt nok for det tager reeet lang tid at hente indholdet og sortere det.

Jeg har brugt et script der hedder: simple_html_dom hvor jeg meget nemt kan specificere hvor og hvad den skal scrape og vise.

Men som sagt så er dette meget ressoucre krævende så ville høre om det kan lade sig gøre på andre måder f.eks. regular expressions? Et eksempel ville være guld værd!

Mit nuværende script med simple_html_dom:
Fold kodeboks ind/udKode 


Den html data der bliver sorteret i er:
Fold kodeboks ind/udHTML kode 

Jeg skal så have sorteret det sådan at det også bliver vist korrekt der hvor det er blevet sorteret. Dataene der bliver hentet Er fra alle tds hvor classes er følgende, Apppointment_Skema_Text, Apppointment_Skema_Time



Nu kender ikke simple_html_dom, men det er formentlig operation til at gå til næste node i DOM (nextSibling) og til under noder (children,firstChild). Du bør bruge dem i stedet for find som formentlig leder hele dokumentet igennem hver gang.

brug find til at finde selve skema tabellen og de andre operationer til at gå rundt i DOM for denne tabel.



Du kunne implementerer sin egen sorteringsalgoritme hvis du stener lidt :)
Quicksort er blandt de hurtigste:
http://en.wikipedia.org/wiki/Quicksort



Du skal ikke bruge reg exp til det.



Okay super tak for de mange forslag, jeg ser lidt på det :D

Edit:
Har kigget på det og det virker faktisk ret godt :D

Men nu er jeg stødt på endnu et problem, den data jeg får kan jeg ikke rigtig sortere med xpath.

Min xpath kode til sortering.
Fold kodeboks ind/udKode 


Det data jeg får ser så følgende ud:
08:15-09:00 Tek. hist. C(IT-redigeringsr sk469)Underviser: Tina Svane Jakobsen
09:05-09:50 Tek. hist. C(IT-redigeringsr sk469)Underviser: Tina Svane Jakobsen
09:55-10:40 Engelsk A(IT-redigeringsr sk469)Underviser: Søren Hedegaard
11:00-11:45 Engelsk A(IT-redigeringsr sk469)Underviser: Søren Hedegaard
11:50-12:35 Tek.fag des A(Teori HTX sk470)Underviser: Martin Popp Fredslund
13:00-13:45 Tek.fag des A(Teori HTX sk470)Underviser: Martin Popp Fredslund
13:50-14:35 Tek.fag des A(Teori HTX sk470)Underviser: Martin Popp Fredslund
14:40-15:25 Tek.fag des A(Teori HTX sk470)Underviser: Martin Popp Fredslund
09:55-10:40 Engelsk A(IT-redigeringsr sk469)Underviser: Søren Hedegaard
11:00-11:45 Engelsk A(IT-redigeringsr sk469)Underviser: Søren Hedegaard
11:50-12:35 Dansk A(IT-redigeringsr sk469)Underviser: Jens Rasmussen
13:00-13:45 Dansk A(IT-redigeringsr sk469)Underviser: Jens Rasmussen
08:15-09:00 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke
09:05-09:50 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke
09:55-10:40 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke
11:00-11:45 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke
11:50-12:35 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke
13:00-13:45 Tek.fag des A(Teori HTX sk470)Underviser: Michael Schacke

Dette skal sorteres så den kan udregne fra 08:15 til 15:25 hver dag så den får flere forskellige dage, derudover skal jeg have lavet således at den putter tid og fak og lære og lokale i variabler så de kan vises.

Og er godt nok lidt på bar bund, ved ikke lige hvordan mine regular expressions bør ser ud og ved ikke lige hvordan jeg skal lave så de første 8 linjer bliver til $mandag array og de næste 4 til $tirsdag array.

Mvh
Buch



Indlæg senest redigeret d. 16.03.2010 11:57 af Bruger #13723
t