jurchiks Posted November 7, 2013 Report Share Posted November 7, 2013 (edited) Skripts: http://pastebin.com/Pxc7TA48 Output: http://pastebin.com/wL9LwwPS Testa skripts uzskatāmi parāda problēmu. Ievelku produktu sarakstu no 220.lv ar curl, iztīru konvertēju saturu ar tidy uz XML, tad jau meklēju produktus ar xpath "//div[@class=fakeProductContainer]/h3/a". Visās lapās viss strādā pareizi, izņemot tos URLus, kuri ir masīvā dotajā skriptā (izņemot pirmo, tas ir piemēram - kādam būtu jābūt outputam). Kādam varētu būt nojausma, kas par sviestu? Es ievēroju, ka tajās lapās, kuras nestrādā, span class="product", kurš ir parent elements div class="fakeProductContainer", bija pārvietots un atradās iekš div class="fakeProductContainer". Nahuj tā notiek un nahuj tikai tajās dažās lapās? Notērēju labu laiku bezmaz vai matus plēšot, bet man nav ne jausmas. Edited November 7, 2013 by jurchiks Quote Link to comment Share on other sites More sharing options...
Kasspars Posted November 7, 2013 Report Share Posted November 7, 2013 Pēc definīcijas divs nevar būt spanā. Iespējams tidy šo lieto izlabo un viss nahuj noklājas :D :D Quote Link to comment Share on other sites More sharing options...
404 Posted November 7, 2013 Report Share Posted November 7, 2013 Varbūt ka labāk ir nečakarēties ar konvertēšanu un izmantot DOMXPath. Patestējot izskatās ka iet: libxml_use_internal_errors(true); foreach ($pages as $uri) { $page = request($uri); //$page = cleanHTML($page); //$pagexml = $convertHTMLToXML($page); $dom = new DOMDocument(); $dom->loadHTML($page); $xpath = new DOMXPath($dom); $nodes = $xpath->query('//div[@class="fakeProductContainer"]/h3/a'); // Debug foreach($nodes as $node) { echo $node->nodeValue . '<br/>'; } } Quote Link to comment Share on other sites More sharing options...
jurchiks Posted November 7, 2013 Author Report Share Posted November 7, 2013 @Kasspars - bet tad kāpēc visas pārējās lapas iet? Tur struktūra ir identiska. @404 - mēģināšu. Vai ir jēga skatīties tos internal errorus? Izskatās, ka lamājas par tām lietām, kuras es daļēji aizmālēju cleanHTML funkcijā. Quote Link to comment Share on other sites More sharing options...
404 Posted November 7, 2013 Report Share Posted November 7, 2013 Skatīties jau nav baigās jēgas,tāpēc pielieku to internal_errors lai visādus warningus nemet. Parasti jau Xpath labi tiek galā ar invalīdu html'u un neprasās neko baigi filtrēt. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted November 7, 2013 Author Report Share Posted November 7, 2013 Tā jau domāju. Labi, galvenais, ka strādā, citādi tas brīnums ar pāris lapām reāli sabojāja noskaņojumu. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.