Gå til innhold

[Løst] Printe URL til Googles første søkeresultat?


Anbefalte innlegg

Videoannonse
Annonse

Hei!

 

Interessant problemstilling. Kom fram til et tålelig greit utkast, det kan vel tenkes det finnes mer effektive måter å gjøre det på. Eksempelet gjør bruk av en HTML-parser, finnes her: http://simplehtmldom.sourceforge.net/. Den gjør det relativt lett å hente ut data fra nettsider.

<?PHP

// laster inn bibliotek for å kunne gå gjennom html-dokumenter

include('simplehtmldom_1_5/simple_html_dom.php');

// søkestreng, kan selvsagt byttes ut med variabel fra $_GET

$search = 'test';

// bytter ut eventuelle mellomrom med +, da url-er med mellomrom gir trøbbel

$search = str_replace(' ', '+', $search);

$url = 'http://www.google.no/search?q=' . $search; // url til googlesøk

// henter siden med søkeresultatet

$html = file_get_html($url);

// finner første link i <div id="search">

$link = $html->find('div[id=search]', 0)->find('a', 0);

// dersom den finner en link:

    if($link)
    {

        $href = $link->getAttribute('href'); //henter selve linken

        echo '<a href="http://google.com' . $href . '">Første søkeresultat til søket "' . $search . '"</a>';
    }


?>

:)

Endret av Garanti
  • Liker 1
Lenke til kommentar

Hei!

 

Interessant problemstilling. Kom fram til et tålelig greit utkast, det kan vel tenkes det finnes mer effektive måter å gjøre det på. Eksempelet gjør bruk av en HTML-parser, finnes her: http://simplehtmldom.sourceforge.net/. Den gjør det relativt lett å hente ut data fra nettsider.

:)

 

Takk!

Akkurat hva jeg er ute etter. Fungerte nøyaktig slik jeg ønsket.. :) Brukte veldig mye tid igår kveld, uten at jeg fant noe som helst.

 

Gjerne send meg Paypal adressen din eller evt. konto nr så kan jeg overføre en 200-lapp som takk for hjelp.

 

Igjen, tusen takk :)

  • Liker 1
Lenke til kommentar

Så bra det var til hjelp!

Angående betaling er jeg litt i tvil, jeg brukte maks. 15 minutter på dette, det meste av arbeidet ligger i å lage parseren. Samtidig er jeg en lut fattig student :D Skal sende en mail til opphavsmannen og høre hva han synes.

 

Et par kommentarer til skriptet:

 

Dersom søkestrengen er gitt av brukeren, må du rense ("sanitize") denne i forkant for å unngå at noen legger inn linker til egne, muligens usikre, sider. (Kalles 'cross site scripting' (XSS)).

 

Har hatt litt problemer med simplehtmldom-biblioteket, noen ganger virker det som om det ikke laster inn, men det kan nok skyldes php-oppsettet mitt.

 

Ellers er det bare å spørre videre om noe er uklart :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...