Ontvang nieuwsbrief:  12319 leden Zet de zoekwekker - Bookmark dit  - Contact - Wie?

100% WEB 1.0
HOOFDMENU
DATABASES:
Personenzoeker
Documentzoeker
Domeindossier
Google Tools
Linkhopper
Begluur zoekenden
NIEUWS:
Nieuws Voelspriet
Nieuws uit USA
Tijdschriftennieuws
Eerder nieuws

ZOEKTIPS:
Google Geheimen

Helpdesk zoeken
De beste zoektips
Mens en Machine

Op de zoeksofa
Waarom zoek ik?
Waarmee zoek ik?
Vriend(in) Voelspriet
Gratis nieuwsbrief
Zoekwekker
Zoeklinks
Zoekgemeenschap
LINKS:
Naakte zoekers
Geheime zoeklinks
NASLAG:
Zoekboeken
Zoekmachines
Dossier Google
Dossier AltaVista
Zoekaudio & Video
Verborgen Web
Cursussen
Onderzoeken
Zoekgeschiedenis
Terug in de tijd

Google Top 100
ZOEKVARIA:
Google Fotoalbum
Geloofwaardigheid

WEBWINKEL

 Pageranking gekraakt: de uitleg

Veel mensen hebben mij gevraagd: hoe heb je toch de Pageranking weten te ontcijferen van Google? Ik ben grote dank verschuldigd aan Arnold Lauwerens, een  enthousiaste programmeur uit Breda en webmaster van muzieksite Curlio. De zoektocht was redelijk ingewikkeld:
 
,,Reverse-engineren is tegen de gebruikersovereenkomst van Google. Dit om te zorgen dat een persoon geen duizenden verzoeken binnen een paar minuten op Google gaat afvuren (wat niet erg aardig zou zijn).’’
 
Hoe het dan toch lukte?  Lees hieronder een toelichting van Arnold zelf.
Is de uitleg te technisch? Lees dan door tot de laatste twee alinea’s. Arnold legt daarin uit dat de methode van Google maar weinig zegt over de kwaliteit van een website.
 
In de nieuwe Google Top 100 (PageRanking) rukken de universiteiten op en zijn de homepages compleet verdwenen. De top 20 ziet er heel anders uit dan de vorige  keer. Elsevier en Google staan net als de vorige keer op nummer 1  respectievelijk 2. Maar 12 Nederlandse sites hebben inmiddels een pageranking  van 8. Planet, Monsterboard, Sun en Adobe, allemaal een PR van 8, zijn  nieuwkomers uit het bedrijfsleven. Het paardenforum van de Benelux staat op plek  20 en is daarmee de eerste hobbysite die hoog scoort. Voelspriet staat trouwens  
op plek 501.
 
De Top 100 is fors aangepast. Niet alleen wordt de PR gemeten, maar ook het  aantal links naar de site toe, het aantal citaten in Google.
 
Zie ook http://www.voelspriet.nl/pageranking/index2.htm

Het verhaal van Arnold in zijn eigen woorden:

,,De zoektocht hoe het beste te werk gaan was redelijk ingewikkeld, eerst heb ik  gezocht hoe je een pageranking kan opvragen, echter was dit al een eerste  probleem omdat je wel de url makkelijk kan vinden die naar de google server  wordt gestuurd echter zit daar een hash in over de url die je wilt weten, deze  hash die mee wordt gestuurd wordt berekend door de googlebar. De googlebar is  een "auto-updating" tool die zichzelf dus ververst als er een nieuwe versie  beschikbaar is, waardoor de mensen bij google de hashcode heel simpel kunnen
veranderen, terwijl erachter komen hoe de hash wordt opgebouwd moeilijker is, hierdoor zou men de code van de googlebar moeten reverse-engineren.

Dit zou redelijk veel tijd kosten om te achterhalen hoe de hash berekend wordt, echter  is men bij google erg aardig, door als men de "oude" hash stuurt dat men nog steeds een pagerank terugkrijgt echter zal deze ergens tussen 2 PR eronder of 2  PR erboven liggen (dus compleet onbetrouwbaar) en men moet er maar achterkomen dat de hash veranderd is. Bovendien is het reverse-engineren tegen de
gebruikersovereenkomst van google. Dit om te zorgen dat een persoon geen duizenden requests binnen een paar minuten op de google machines gaat afvuren. (wat dus niet erg aardig zou zijn.). Door een aantal andere regels in de gebruikersovereenkomst was het lastig om iets te verzinnen wat toch nog binnen de gebruikersovereenkomst zou vallen.

Ik heb het programma in Delphi 6 gemaakt. (Het had echter net zo goed in C of C++ gemaakt kunnen worden of enig andere programmeertaal).
Het eerste probleem was het bijeenrapen van de verschillende domeinnamen,  uiteraard willen we alleen de domeinnamen die in google zitten, als je op een trefwoord zoekt met de specificatie dat je alleen resultaten uit .nl wilt krijg je natuurlijk redelijk veel domeinnamen terug, echter als je maar een trefwoord pakt krijg je wel te zien dat er heel veel resultaten zijn, echter kan google alleen maar ongeveer de eerste 950 resultaten teruggeven. Dus het programma moest alle URL filteren uit de resultaten lijst en dan ook nog de lijst doorlopen met verschillende trefwoorden.

Nadat dit gestart werd, kwam het eerste probleem al naar boven, aangezien het programma alle volledige URL's ging opslaan begon dit erg grote bestand te genereren, waardoor het programma erg groot en log begon te worden, (aangezien het probeerde alle dubbele URL's te filteren). Hier werd toen besloten om niet volledige URL's meer te gebruiken maar alleen de domeinnamen te filteren, met de uitgangspunt dat elke zelf respecterend website toch wel zijn eigen (sub)-
domeinnaam heeft. Bovendien zou het opzoeken van alle PR bij complete URL's veel te veel werk worden en praktisch ondoenlijk.

Nadat alle domeinen waren gevonden werd een een routine gemaakt om het aantal links en vermeldingen op te zoeken van de domeinnaam. Daarna werd ook besloten om op te zoeken hoeveel vermeldingen een domeinnaam had in nieuwsgroepen.

Nadat deze functie werkte werdt het tijd om uit te zoeken hoe we de Pagerank terug konden krijgen van alle domeinnamen, zonder de gebruikers overeenkomst te schenden. Al snel kwam ik tot de conclusie dat dit alleen maar kon door gebruik te maken van Internet explorer zelf en in principe elke website te bezoeken, het resultaat wordt normaal opgeslagen in een cookie, echter waar precies hangt
af van de OS van het systeem zelf.

Verschillende pogingen liepen uit op onverklaarbare Pageranks en ook pageranks die niet klopte als men het handmatig controleerde.

Na verschillende pogingen om de Pagerank terug te krijgen besloot ik om gebruik te maken van een netwerk sniffer die specifiek een request met zijn resultaat kon afvangen, hierdoor kon ik de sniffer vertellen alleen requests op te slaan die naar de query server van google werden gestuurd. Hierdoor kon ik exact afvangen welke URL werd opgevraagd, echter door te kijken naar het resultaat kon ik daaruit de Pagerank halen van de site die bezocht werd door de browser.

Het systeem werkte goed op een ding na, namelijk dat het systeem elke keer een website compleet moest bezoeken, Verschillende sites hebben speciale active-x componenten waarop een reactie gegeven moest worden, waardoor die browser venster "vast" zat tot iemand op de "OK" knop drukte. Als het systeem dan een andere URL opvroeg werdt een nieuwe venster geopend, waardoor er uiteindelijk alle vensters vast zaten omdat er niet meer vensters geopend konden worden.

Dit was op te lossen door Active-X uit te zetten, echter zat hier weer het probleem bij dat als je alle active-x componenten uitzet dat Internet Explorer  een melding komt geven dat de website misschien niet juist is opgemaakt omdat active-x niet geactiveerd is, wat uiteraard resulteert dat je eerst op een OK knop moet drukken om verder te kunnen gaan met dat specifieke venster. Uiteindelijk moesten bepaalde active-x opties uitgezet worden, sommige active-x opties moesten echter aanblijven, en de scripts moesten ook uitgezet worden
omdat deze weer pop-up vensters veroorzaakten, waardoor niet de pagerank van de site werd afgevangen maar van de advertentie bureau uit die pop-up of van een andere site die werd opgevraagd.

Het enige probleem was dat niet elke site snel reageert, gelukkig reageert de site van google normaal wel redelijk snel, hierdoor kon praktisch elke website binnen 5 seconden compleet opgevraagd worden samen met de bijbehorende  pageranking ( met plaatjes uitgeschakeld ).

Voor een totaal beoordeling is nog een optie gemaakt waardoor men een zwaarte kan toekennen aan elk onderdeel, afgaande van de hoogst voorkomede waarde van het onderdeel ( bijvoorbeeld pagerank ) krijgt de hoogste 100%, elke andere krijgt een gelijkwaardig deel van de 100% van de zwaarte die percentuee overeenkomt met de percentage van het onderdeel. ( dus als de hoogste 10 is en er is een site met pagerank van 1 krijgt deze 1/10 = 10% van de zwaarte).

 
Hierdoor is te zorgen dat er een evenwichtig balans wordt gemaakt door de zwaarte voornamelijk op de pagerank te leggen, en dan op de aantal links en daarna op het aantal vermeldingen. hierdoor is te zorgen dat een site met een pagerank van 7 altijd boven een site met een pagerank 6 blijft ongeacht het aantal links of vermeldingen.

Mijn persoonlijke mening over de pageranking van google is dat het nogal erg afhangt van de sites vanwaar je wordt gelinkt, niet naar de kwaliteit van de site, het aantal updates op een site lijkt weinig uit te maken, ook kan je in verschillende branches zien dat elke site een lager pagerank heeft dan een andere branche, immers is er een branche met hoger pagerank zullen aanverwante bedrijven ook sneller een hogere pagerank krijgen. Er zijn verschillende dingen die ik als programmeur kan zien die verbeterd kunnen worden aan de pageranking, zoals zorgen dat praktisch elk categorie op zijn minst in de wereld een 9 heeft
(immers is dat dan een goede site in hun categorie), zoals bij een muziek site is de hoogste pagerank die ik heb gevonden slechts een 8.

Hierdoor is ook goed te zien dat pagerank weinig zegt over hoe populair de site werkelijk is, of hoe  goed de betreffende site is. Het is slechts een kleine indicatie die niet correct hoeft te zijn, immers een bedrijf dat heel veel boze klanten heeft die veel commentaren over dat bedrijf hebben zetten vaak een link naar het bedrijf erbij, dat betekent niet dat het bedrijf goed is, of dat de website goed is, echter dat er over het bedrijf wordt gepraat. Uiteindelijk gaat in dat geval het bekende gezegde dat zelfs negatieve reclame reclame is.''