Hoi, 
Vanwege een onderzoekje met betrekking tot zoekmachines wil ik de resultaten van zoekmachines op een andere manier weergeven. Hiervoor ben ik dus bezig met een kleine class die een resultaat van (in dit geval Google) ophaalt, en deze anders gaat weergeven.
Hiervoor heb ik niet alle gegevens nodig, maar in principe alleen (even van het voorbeeld "bier" uitgaande):
titel + de url
omschrijving
en de in groen weergegeven link
echter als je kijkt bij google bij het voorbeeld bier zie je dat er heel veel rotzooi door google er bij wordt geplaatst:
en ik krijg alleen de inhoud van de div terug en niet de structuur
Hier mijn class tot nu toe:
bvd
Vanwege een onderzoekje met betrekking tot zoekmachines wil ik de resultaten van zoekmachines op een andere manier weergeven. Hiervoor ben ik dus bezig met een kleine class die een resultaat van (in dit geval Google) ophaalt, en deze anders gaat weergeven.
Hiervoor heb ik niet alle gegevens nodig, maar in principe alleen (even van het voorbeeld "bier" uitgaande):
titel + de url
omschrijving
en de in groen weergegeven link
echter als je kijkt bij google bij het voorbeeld bier zie je dat er heel veel rotzooi door google er bij wordt geplaatst:
Nu heb ik het al voor elkaar om de titel en de url te krijgen, echter de overige informatie wordt door google in een 1 div gegooid:Bier - Wikipedia
Bier is een alcoholische drank gemaakt uit granen, waaronder gerst en tarwe. Soms wordt nog fruit toegevoegd (bijvoorbeeld kersen (krieken) in krieklambiek) ...
Productieproces - Geschiedenis - Biersoorten - Bierculturen
nl.wikipedia.org/wiki/Bier - In cache - Vergelijkbaar
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
| <div class="s"> <em>Bier</em> is een alcoholische drank gemaakt uit granen, waaronder gerst en tarwe. Soms wordt nog fruit toegevoegd (bijvoorbeeld kersen (krieken) in krieklambiek) <b>...</b> <br/> <div class="osl"> <a href="/url?q=http://nl.wikipedia.org/wiki/Bier%23Productieproces&ei=t8IHS6uZDJLv-QbNvuHFDQ&sa=X&oi=oneline_sitelinks&resnum=6&ct=result&cd=1&ved=0CBcQ0gIoAA&usg=AFQjCNH30Lp-7kTiqkKP1D09JD-RTA5t1A">Productieproces</a> - <a href="/url?q=http://nl.wikipedia.org/wiki/Bier%23Geschiedenis&ei=t8IHS6uZDJLv-QbNvuHFDQ&sa=X&oi=oneline_sitelinks&resnum=6&ct=result&cd=2&ved=0CBgQ0gIoAQ&usg=AFQjCNGItmajNwrdseTkB0Ftbk7rw94LJA">Geschiedenis</a> - <a href="/url?q=http://nl.wikipedia.org/wiki/Bier%23Biersoorten&ei=t8IHS6uZDJLv-QbNvuHFDQ&sa=X&oi=oneline_sitelinks&resnum=6&ct=result&cd=3&ved=0CBkQ0gIoAg&usg=AFQjCNEbvC96cZ-yD_CtJPAINZzpCuQKgQ">Biersoorten</a> - <a href="/url?q=http://nl.wikipedia.org/wiki/Bier%23Bierculturen&ei=t8IHS6uZDJLv-QbNvuHFDQ&sa=X&oi=oneline_sitelinks&resnum=6&ct=result&cd=4&ved=0CBoQ0gIoAw&usg=AFQjCNGMZO7BAZM1y-1HKQU4rUZ39UlUGQ">Bierculturen</a> </div> <cite> nl.wikipedia.org/wiki/ <b>Bier</b> - </cite> <span class="gl"> <a onmousedown="return clk(this.href,'','','clnk','6','')" href="http://74.125.77.132/search?q=cache:2xlNCyKcQ2kJ:nl.wikipedia.org/wiki/Bier+bier&cd=6&hl=nl&ct=clnk&gl=nl">In cache</a> - <a href="/search?hl=nl&q=related:nl.wikipedia.org/wiki/Bier&sa=X&ei=t8IHS6uZDJLv-QbNvuHFDQ&ved=0CBYQHzAF">Vergelijkbaar</a> </span> </div> |
en ik krijg alleen de inhoud van de div terug en niet de structuur
Hoe kan ik (bij voorkeur met xpath oid) nou die informatie ook opgedeeld terugkrijgen, zodat ik makkelijk de door mij benodigde informatie kan opvragen?bier.startpagina.nlbier.startpagina.nl: de pagina met de beste links over bier, brouwerijen en nog veel meer!bier.startpagina.nl/ - In cache - Vergelijkbaar
nl.wikipedia.org/wiki/Bier -
Hier mijn class tot nu toe:
PHP:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| <?php class zoektest #verplicht opgeven ($url) { public function __construct($zoekopdracht) { } protected function getDOM($url) { #Deze functie haalt de DOM van een pagina op $this->html = file_get_contents($url); $this->dom = new DomDocument(); @$this->dom->loadHTML($this->html); $this->xpath = new DomXpath($this->dom); } } class google_zoektest extends zoektest //verplicht opgeven ($url) { public function __construct($zoekopdracht) { /*Deze functie set de URL van het google*/ $url = "http://www.google.nl/search?q=bier&num=8&hl=nl&start=0"; $this->getDOM($url); } public function getSerp() { $this->ol = $this->dom->getElementsByTagName('ol'); $teller = 0; foreach ($this->ol as $tag) { if($teller > 0) { $this->li = $tag->getElementsByTagName('li'); foreach ($this->li as $tag2) { $this->href = $tag2->getElementsByTagName('a'); $teller1 = 0; foreach ($this->href as $tag3) { if($teller1 == 0) { echo "<br /><br /><a href=".$tag3->getAttribute('href').">".$this->href->item(0)->nodeValue."</a>"; #echo $tag3->getAttribute('href')."<br /><br />"; echo "<br />".$this->li->item(2)->nodeValue; $this->cite = $tag2->getElementsByTagName('cite'); foreach ($this->cite as $tag4) { echo "<br />".$this->cite->item(0)->nodeValue; } } $teller1++; } } } $teller++; } } } $google = new google_zoektest("bier"); $google->serp = $google->getSerp(); echo $google->serp; ?> |
bvd