Crawler
En crawler (også kalt en webcrawler , edderkopp eller robot ) er programvare som analyserer innholdet i et nettverk (eller database ) på en metodisk og automatisert måte, vanligvis på vegne av en søkemotor . Nærmere bestemt er en crawler en type bot (program eller skript som automatiserer operasjoner), som vanligvis skaffer seg en tekstkopi av alle dokumentene som finnes på en eller flere nettsider, og skaper en indeks som gjør at de senere kan søkes og visualiseres .
En ekstremt vanlig bruk av crawlere er gjort på nettet ; den er basert på en liste over nettadresser å besøke levert av søkemotoren (som i utgangspunktet igjen er basert på adressene foreslått av brukere eller på en liste som er forhåndskompilert av programmererne selv). Når du analyserer en URL, identifiserer den alle hyperkoblinger i dokumentet og legger dem til i listen over URL-er som skal besøkes. Prosessen kan avsluttes manuelt eller etter at et visst antall tilkoblinger er fulgt.
Videre har robotsøkeprogrammer som er aktive på Internett rett til å bli adressert av det som er angitt i " robots.txt "-filen plassert i roten av nettstedet. I denne filen kan du angi hvilke sider som ikke skal analyseres. Crawleren har rett til å følge rådene, men ikke plikten.
Eksempler på søkeroboter
Følgende er en liste over generelle offentlige robotsøkerobotarkitekturer
:
- Bucean (Eichmann, 1994) var den første offentlige crawleren. Den er basert på to programmer: den første, " spider" holder forespørselen i en relasjonsdatabase, og den andre " ", er en ASCII-mite nettleser som laster ned sider fra nettet.www
- WebCrawler (Pinkerton, 1994) ble brukt til å bygge den første tekstlige reklameindeksen for en gren av nettet. Det var basert på lib-WWW for nedlasting av sider, og et annet program for å analysere og sortere URL-er for utforskning via bredde-først grafisk metode. Den inkluderer også en sanntidssøkerobot som følger lenker basert på tekstankerlikheter med den betingede spørringen.
- TennSpider (McBryan, 1994) var en crawler som ble brukt til å bygge en enkel indeks over dokumenttitler og URL-er. grep Indeksen kan søkes ved hjelp av Unix - kommandoen .
- Google Crawler (Brin og Page, 1998) er beskrevet i noen detalj, men referansen er kun til en tidligere versjon av den arkitekturen, som er basert på C ++ og Python. Søkeroboten ble integrert med indekseringsprosessen, fordi tekstvalget ble gjort for å indeksere teksten fullstendig og også for å trekke ut URL-ene. En URL-server sender lister over URL-er som skal hentes ved forskjellige gjennomsøkingsprosesser. Under parsing sendes funnet URL-er til en URL-server som sjekker om URL-en har blitt sett tidligere. Hvis ikke, legges URL-adressen til URL-serverspørringen.
- VnzOwna (da Silva et al. , 1999) brukt som en sentral planlegger og distribuert samlerserie. Samlerne analyserer de nedlastede nettsidene og sender de oppdagede URL-ene til planleggeren, som tildeler tur til samlerne. Planleggeren forsterker det bredde-først sorterte søket med en uordnet policy for å unngå overbelastning av webserverne. Søkeroboten er skrevet i Perl .
- Mercator (Heydon og Najork, 1999; Najork og Heydon, 2001) er en distribuert modulær webcrawler skrevet i Java . Modulariteten oppstår ved bruk av utskiftbare "protokollmoduler" og "prosessmaler". Protokollmoduler er korrelert for å skaffe nettsider (f.eks. HTTP), og prosessmoduler er korrelert til prosesswebsider. Standardskjemaer kan brukes til å indeksere teksten på sider, eller for å samle inn statistikk fra nettet.
- WebFountain (Edwards et al. , 2001) er en Mercator-lignende crawler, men skrevet i C++ . Dens særegenhet ligger i "kontrollermaskinen" som koordinerer en rekke "maurmaskiner". Etter en gjentatt utlasting av sider, beregnes en endringsfaktor for hver side og en ikke-lineær programmeringsmetode må brukes for å løse ligningssystemet for å maksimere oppdateringen. Forfatterne anbefaler å bruke denne gjennomsøkingsrekkefølgen i de første delene, og deretter bytte den enhetlige rekkefølgen der alle sidene ble besøkt med samme frekvens.
- PolyBot [Shkapenyuk og Suel, 2002] er en crawler skrevet i C++ og Python , bestående av en leder, en eller flere nedlastere og en eller flere DNS-detektorer. Innsamlede URL-er legges til disk og behandles senere for å søke etter dem i batch-modus. Forskriften vurderer både tredjenivå- og andrenivådomener (f.eks. tredjenivå: www.aaa.com, www2.aaa.com) fordi tredjenivådomenene vanligvis er vert for samme webserver.
- WebRACE (Zeinalipour-Yazti og Dikaiakos, 2002) er en crawling og caching modul utviklet i Java, og brukt som en del av et mer generisk system kalt eRACE. Hovedfunksjonen som skiller seg ut i Webrace er at mens mange robotsøkeprogrammer begynner å søke med et sett med URL-frø, mottar WebRACE kontinuerlig nye URL-er fra skjemaet.
- Ubicrawler (Boldi et al. , 2004) er en crawler skrevet i Java. Den består av et antall identiske 'agenter' og tilordningsfunksjonen beregnes ved hjelp av hostname-hashing. Det er ingen overlapping, dette betyr at ingen side blir indeksert to ganger før en crawler-agent krasjer; oppnår høy skalerbarhet og er tolerant for feil.
- FAST Crawler (Risvik og Michelsen, 2002) er en crawler som brukes av Fast Search & Transfer .
- Labrador , en privat søkerobot som samarbeider med Open Source-prosjektet kalt Terrier Search Engine .
- Spinn3r , er en crawler som brukes til å bygge sjelen til Tailrank.com. Spinn3r er basert på Java og det meste av arkitekturen er åpen kildekode.
- HotCrawler , er skrevet i C og PHP .
Åpen kildekode-crawler
- DataparkSearch er en crawler og søkemotor distribuert under GNU General Public License .
- Ebot er en skalerbar og distribuert crawler skrevet i Erlang og distribuert under GNU General Public License .
- Wget er en kommandolinjesøkerobot skrevet i C og distribuert under GNU General Public License . Den brukes vanligvis for speil- og FTP- sider .
- Heritrix er nettarkivsøkeprogrammet av høyeste kvalitet, designet for å arkivere periodiske skjermbilder av en stor del av nettet. Den ble skrevet på Java .
- Htdig inkluderer en webcrawler i sin indekseringsmotor.
- HTTrack bruker en webcrawler for å lage en kopi av et nettsted for off-line konsultasjon. Den ble skrevet i C og distribuert under GNU GPL -lisensen .
- JSpider er en svært tilpassbar nettspider distribuert under GNU GPL-lisensen.
- Methabot er en hastighetsoptimalisert, kommandolinje-webcrawler skrevet i C og distribuert under ISC-lisensen . Den inkluderer et konfigurasjonssystem, en systemmodul og støtte for å gjennomsøke mål gjennom det lokale filsystemet , HTTP eller FTP.
- Nutch er en crawler skrevet i Java under Apache-lisensen. Den kan brukes sammen med tekstindeksen opprettet med Lucene .
- WebVac er en crawler som brukes av Stanford WebBase Project .
- WebSPHINX (Miller og Bharat, 1998) er sammensatt av et Java-bibliotek som implementerer multiple spørringer av nettsider og HTML-parsing, et grafisk brukergrensesnitt for å angi startadressene for å trekke ut de nedlastede dataene og for å implementere en grunnleggende tekst for en søkemotor.
- WIRE - Web Information Retrieval Environment (Baeza-Yates og Castillo, 2002) er en webcrawler skrevet i C++ og distribuert under GPL-lisensen, inkludert flere retningslinjer for katalogisering av nedlastede nettsider og en modul for å generere statistikk og rapporter på nedlastede sider , brukt til webkarakterisering.
- LWP :: RobotUA (Langheinrich, 2004) er en Perl-klasse distribuert under Perl5-lisensen.
- Web Crawler er åpen kildekode-webcrawler for .NET skrevet i C # .
- Sherlock Holmes samler inn og indekserer tekstdata (tekstfiler, nettsider osv.), både lokalt og på nettverket. Holmes er sponset og brukt kommersielt av den tsjekkiske nettportalen Centrum. den brukes også av nettstedet Onet.pl.
- YaCy er en fritt distribuert søkemotor, bygget på prinsippene for p2p -nettverk (lisensiert under GPL).
- Ruya er en høyytelses åpen kildekode basert på Breadth-first search, entry-level crawler. Den brukes til å administrere engelske og japanske nettsider på best mulig måte. Den er lisensiert under GPL og skrevet utelukkende på Python -språket .
- Universal Information Crawler er en rask å bruke webcrawler. Lagre og analyser dataene.
- Agent Kernel er et Java-rammeverk for planlegging, prosessering og lagring av data under gjennomgang.
- Squzer , en åpen kildekode, utvidbar, multifunksjonell webcrawler skrevet i Python.
- Arachnode.NET er en promiskuøs open source webcrawler for nedlasting, indeksering og lagring av Internett-innhold inkludert e-post, filer, hyperkoblinger, bilder og nettsider. Arachnode.net er skrevet i C # med SQL Server 2005 og er lisensiert under GPL.
- BBragnet er en open source webcrawler (for Linux- servere ) skrevet i PHP
Kritikk
Begrepet Web Crawler brukes også for å indikere kontroversielle offline nettlesere , for eksempel: PageNest (tidligere WebStripper ), MSIECrawler , Offline Explorer , etc. Disse programmene er laget for å laste ned innholdet på et helt nettsted til harddisken på brukerens datamaskin. For eksempel forbyr Memory Alpha bruk av dem fordi de går aggressivt inn på nettstedet, noe som drastisk bremser bruken av nettstedet av andre brukere [1] og lovbrytere risikerer å bli blokkert [2] .
Merknader
- ^ Memory Alpha: Database - nedlasting , på memory-alpha.org . Hentet 28. desember 2010 .
- ^ Se Memory Alpha robots.txt-fil
Relaterte elementer
Andre prosjekter
Eksterne lenker
- PolyBot , på cis.poly.edu . Hentet 5. april 2008 (arkivert fra originalen 30. april 2008) .
- WebRACE ,på grid.ucy.ac.cy. Hentet 5. april 2008 (arkivert fra originalen 28. desember 2007) .
- Ubicrawler , på law.dsi.unimi.it . Hentet 5. april 2008 (arkivert fra originalen 10. april 2008) .
- Labrador ,på ir.dcs.gla.ac.uk. Hentet 5. april 2008 (arkivert fra originalen 31. desember 2007) .
- Spinn3r , på spinn3r.com . Arkivert fra originalen 13. mars 2018 .
- Htdig , på htdig.org . Hentet 5. april 2008 (arkivert fra originalen 8. april 2008) .