Ik heb een spider die via xpath data van site haalt. (Hier hebben we toestemming voor)
Nu is het probleem dat de xpath paden niet werken. De paden zoek ik op met een tooltje als xpe, of xpath finder en xpather. Met geen enkel pad lukt het om die data te krijgen. Terwijl sites die er al reeds instaan wel werken. Dus lijkt het alsof de simple xml van php andere paden wil hebben?
De functie die over de data gaat is als volgt
Om een voorbeeldje te geven deze site:
http://www.verkopen.nl/?p...page2=ad&id=94&adid=13700
Hier moet bijvoorbeeld de titel worden gepakt Complete Loods met Sandwich dak van 320m2 (staat in grote letters bovenaan)
Met de ene tool kom ik op dit pad: id('center')/table/tbody/tr/td/font/b
En met de andere op dit pad /html/body/div/div/div/div/table/tbody/tr/td
En het derde pad is dit: /html/body/div[@id='back']/div[@id='backtop']/div[@id='pagina']/div[@id='center']/table/tbody/tr/td/font/b
Heeft iemand enig idee of dit gewoon zou moeten werken met de simple_xml_elements xpath functie van php? Ik ben erg benieuwd
Nu is het probleem dat de xpath paden niet werken. De paden zoek ik op met een tooltje als xpe, of xpath finder en xpather. Met geen enkel pad lukt het om die data te krijgen. Terwijl sites die er al reeds instaan wel werken. Dus lijkt het alsof de simple xml van php andere paden wil hebben?
De functie die over de data gaat is als volgt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| function ScanForData($fielddefs) { $fielddata = Array(); if($this->IsValid()) { reset($fielddefs); //print("\n"); while (list($fieldname, $xpath) = each($fielddefs)) { //print("$fieldname=$xpath\n"); $data = ""; $nodelist = $this->simple_xml_element->xpath($xpath); if($nodelist !== FALSE) { foreach($nodelist as $node) { if(!empty($data)) { $data .= " "; } $data .= trim(strtr(strip_tags($node->asXML()), "\n\r", " ")); } } if(!empty($data)) { $fielddata[$fieldname] = $data; } } } return $fielddata; } |
Om een voorbeeldje te geven deze site:
http://www.verkopen.nl/?p...page2=ad&id=94&adid=13700
Hier moet bijvoorbeeld de titel worden gepakt Complete Loods met Sandwich dak van 320m2 (staat in grote letters bovenaan)
Met de ene tool kom ik op dit pad: id('center')/table/tbody/tr/td/font/b
En met de andere op dit pad /html/body/div/div/div/div/table/tbody/tr/td
En het derde pad is dit: /html/body/div[@id='back']/div[@id='backtop']/div[@id='pagina']/div[@id='center']/table/tbody/tr/td/font/b
Heeft iemand enig idee of dit gewoon zou moeten werken met de simple_xml_elements xpath functie van php? Ik ben erg benieuwd
20 jaar, en wat had ik bereikt?