Anders Moen Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Hei Prøver å finne ut åssen jeg kan lage en slags bot, som ikke skal gjøre noe annet enn å følge linker den finner på en side som f. eks defineres utav GET (?side=http://www.sol.no) og så blar den gjennom alle linkene på sol.no Er det noen som vet om noe? Vet noe lignende har blitt spurt om, men de botene skulle vel gjøre noe mer enn å bare bla gjennom linker Takker for hjelp Lenke til kommentar
Peter Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Burde jo være rimelig enkelt det da, bare husk å sette set_time_limit til noe høyt eller 0, så ikke scriptet timer ut. For å finne alle linker kan du vel f.eks. bruke regex for å finne alle anchor tags og hente ut href-attributet. (I teorien kunne du brukt xsl også, men med tanke på dagens gjennomsnittlige html-koding...) Lenke til kommentar
Anders Moen Skrevet 18. oktober 2007 Forfatter Del Skrevet 18. oktober 2007 Takk for svar, men problemet ligger i at jeg ikke har peiling på hvordan jeg skal gjøre dette. Har søkt litt rundt på nettet, men finner ingenting om hvordan man lager en slags bot Lenke til kommentar
Runar0 Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 (endret) <?php time_limit(0); $urler = array('http://www.sol.no'); while(count($urler) > 0) { $html = file_get_contents(array_pop($urler)); preg_match_all('<a.*?href="(.*?)".*?>', $html, $match); foreach($match as $url) { array_push($urler, $url); } } ?> Der har du noe enkelt. Dette er nok ikkje akkurat det du ønsker å gjøre, men det bør sette deg på rett spor Edit: Er tagen fjerna? Endret 18. oktober 2007 av Runar0 Lenke til kommentar
Peter Skrevet 18. oktober 2007 Del Skrevet 18. oktober 2007 Takk for svar, men problemet ligger i at jeg ikke har peiling på hvordan jeg skal gjøre dette.Har søkt litt rundt på nettet, men finner ingenting om hvordan man lager en slags bot <?php set_time_limit( 0 ); $_GET['file'] = 'http://www.sol.no'; $file[] = file_get_contents( $_GET['file'] ); preg_match_all( '/\<a href="(http*.+?)"/i', $file[0], $matches ); print_r( $matches ); foreach( $matches[0] as $page ) { $file[] = file_get_contents( $page ); } echo 'Fetched '.count( $file ).' pages from '.$_GET['file']; ?> Veldig enkel, og kan allerede si at den bare henter ned ting med absolutt url (http*). Du burde antakelig skrive om hele saken til å bruke curl, men dette var bare for å vise. Lenke til kommentar
Anders Moen Skrevet 18. oktober 2007 Forfatter Del Skrevet 18. oktober 2007 Takker for svar begge to. Skal teste litt, og prøve å se om jeg får til noe med de hehe Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå