Avatar billede -veile- Nybegynder
25. juli 2005 - 19:56 Der er 9 kommentarer

Søge robot.. Crawler

Hvordan laver jeg en crawler med fremgangs medtoden

1: Hent indholdet, dvs. kildekoden af en side, f.eks. www.w3.org.
    2: Gennemsøg denne kildekode for <a href="url"></a> tags og gem disse links et sted, et array måske, dit array er nu fyldt med mange links til undersider på w3.org.
    3: Gennemgå trin 1 og 2 for hver af elementerne til array'et. husk på, at der for hver ny side du undersøger kommer mange nye elementer til array'et, dvs mange nye sider.

Altså hvad skal jeg bruge, er det meta tags eller hvad?
evt. hvis i kender en artikel omkring dette. så skriv den til mig? ikk www.google.com/bot.html
Avatar billede coderdk Praktikant
25. juli 2005 - 21:51 #1
Hent siden med http://dk2.php.net/file_get_contents - Søg den igennem med preg_match_all efter tags, det kunne gøres sådan:

$cont = file_get_contents( 'http://www.eksperten.dk/' );
preg_match_all( '§<a href="(.*?)">.*?</a>§is', $cont, $matches );
var_dump( $matches );
Avatar billede coderdk Praktikant
25. juli 2005 - 21:56 #2
Well, eksperten har noget check så man ikke lige kan det (man kan godt, men det kræver mere) - Prøv f.eks. i stedet med php.net:

    $cont = file_get_contents( 'http://dk2.php.net/file_get_contents' );
    preg_match_all( '§<a href="(.*?)">.*?</a>§is', $cont, $matches );
    $links = $matches[1];
    var_dump( $links );

Dem i array'et der ikke starter med http:// skal du selv fylde resten af URL'en ud ;)
Avatar billede -veile- Nybegynder
25. juli 2005 - 22:15 #3
jammen.. det skal jeg jo indskrive hver gang jeg skal finde en ny side, altså det skal gøre manualt... kan man ikke gøre sårn at den søger automatisk...
Avatar billede Slettet bruger
26. juli 2005 - 09:38 #4
Vil du til at søge på alle hjemmesider der findes...?
Avatar billede -veile- Nybegynder
26. juli 2005 - 14:05 #5
jae.. den skal selv finde alle meta tagsne og bagefter gemme dem i en slags db. og når man søger skal den finde det mest præsise..
Avatar billede coderdk Praktikant
26. juli 2005 - 15:27 #6
Ok, det lyder som du vil lave en "rigtig" crawler - Det er en rigtig dum idé at lave i PHP ;) Det skal nok laves i noget lidt hurtigere - F.eks. C/C++ eller lignende!
Avatar billede -veile- Nybegynder
26. juli 2005 - 15:58 #7
ok.. coderdk

ved du hvordan det skal gøres, har hentet et program som hedder, 1-more-scanner, men der skal jeg indstate alle adresserne selv, men jeg kender jo ikk mange hjemmesider.

Kender du noget til sådan noget eller skal jeg stille spørgsmålet under c++
Avatar billede coderdk Praktikant
26. juli 2005 - 16:02 #8
Well, du skal selv give den adresser under alle omstændigheder - Fra dem du giver dem, følger den så links ud i verden - Den ved jo ikke hvor alting ligger. I et gammelt projekt vi havde gang i på mit tidligere arbejde, fandt vi en side med alle registrerede danske domæner - Den brugte vi så som "feed" til vores søgemaskine...
Andet tror jeg ikke jeg kan være behjælpelig med :)
Avatar billede Slettet bruger
26. juli 2005 - 20:24 #9
Det google gør er jo, at finde links til nye sider via de sider den allerede har gennemsøgt - så den "feeder" sig selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester