![]() |
PHP & XPath
Želio bih "skinuti" ZET-ov vozni red, tj. linkove na vozne redove...stvar je da mi prozuji kroz sve linkove osim zadnjih 6, ako spremim stranicu kao .HTML i nju probam "skinuti" - sve uredno prolazi.
gdje je problem? možda u 6. linku odozdola koji sadrži "/(" u linku? to mi sad jedino pada na pamet, ali ne vidim to kao problem :stoopid: uglavnom ispiše sve do /media/39180/182.pdf. nakon toga - ništa. Link je - http://www.zet.hr/autobus/dnevni.aspx Kod je Code:
$target_url = "http://www.zet.hr/autobus/dnevni.aspx"; |
Jesi probao stavit u for petlju ovako nesto:
for ($i = 0; $i < ($hrefs->length)+6 ; $i++) pa vidi dal prolazi do kraja onda. Ako prolazi, nemam pojma koja je greska :D Ali ako ni to ne radi, onda ovaj $xpath->evaluate vjerojatno ne registrira sve URLove unutar containera autobus, tj. ja sam ovako nabrzaka prebrojao 5 komada sa HR slovima, š special characterima, mozda sam fulo sesti, a to bi taman bilo tih par koji ti fale, pa zato $hrefs ima manjak linkova (pretpostavljam da je $hrefs polje URLova?). mozes probat ovaj output sa URL-ovima izbacit u file prvo, pa onda rucno provjeri URL-ove u HTML-u i ove koje si dobio parsanjem... Ako nisam pomogao, mozda tebi sine neka ideja :goood::beer: |
Citiraj:
Code:
Fatal error: Call to a member function getAttribute() on a non-object in scrapper.php on line 33 Citiraj:
EDIT: usput čak i ako stavim Code:
$hrefs = $xpath->evaluate("//a"); |
Jesi probao ispisati sadržaj $dom-a (innerxml ili innerhtml ili nešto slično) pa da vidiš dali ti je dobro isparsirana stranica? Nakon toga (ako parsira dobro) bih spremio $dom u neki xml file i otvorio ga u IE-u koji ima dobar XML preglednik pa da vidiš kako ga čita. Možda ti da neki hint gdje je greška...
Niti ja ne vjerujem da je zagrada u linku problem jer se radi o atributu definiranom sa navodnicima ali ako sumnjaš na to možeš snimiti cijelu stranicu u html lokalno, izmijeniti taj link pa ga naloadati u DOM. |
Citiraj:
međutim da, kada izbacim DOM van - dođe taman nakon linije 182.pdf i tu stane - pozatvara sve div-ove, html i body tag. |