Finally a clean-room implementation of Google’s Page Rank Algorithm in Java, reverse-engineered from their numerous commentary on Page Rank (or is it Pigeon Rank?). Finalmente, un cuarto de aseo de aplicación de Google Page Rank algoritmo en Java, revertir la ingeniería de sus numerosos comentarios sobre Page Rank (o es Pigeon Rank?).

 public static int getPageRank(url) {     // start off with a random low PR     int pageRank = rand.getInt(0, 3);      if ( isHostedOn('google.com', url) ) {         pageRank++;     } else if ( isHostedOn('microsoft.com', url) ) {         pageRank--;     }     // Support valid pages     if (isValidPage(url) ) {         pageRank += 1;     }      tag_value['b'] = 1;     tag_value['h2'] = 2;     tag_value['h1'] = 3;     tag_value['strong'] = -1; // W3C sux! public static int getPageRank (url) (/ / empezar con un control aleatorio de baja int PR = PageRank rand.getInt (0, 3); si (isHostedOn ( 'google.com', url)) (PageRank + +;) else if (isHostedOn ( "microsoft.com", url)) (PageRank -;) / / Apoyo páginas válidas si (isValidPage (url)) (PageRank + = 1;) tag_value [ 'b'] = 1; tag_value [ 'h2'] = 2; tag_value [ 'h1'] = 3; tag_value [ 'fuerte'] = -1; / / W3C sux! pageRank = calculateTagsPR(tag_value, pagerank);      // Sergey said good news sites have     // lots of nested tables     tablesOnPage = getTagCount(’table’);     if (tablesOnPage >= 50) {         pageRank += 2;     }      if (pageRank >= 5) {         pageRank = 4; // helps selling AdWords     }      if (linksFrom(’mattcutts.com’, url) >= 4) {         // I link to “clean” sites only         // ? PageRank = calculateTagsPR (tag_value, pagerank); / / Sergey dice buenas sitios de noticias han sido / / un montón de tablas anidadas tablesOnPage = getTagCount ( 'mesa'); si (tablesOnPage> = 50) (PageRank + = 2;) if (PageRank> = 5) (PageRank = 4; / / ayuda a la venta de AdWords) if (linksFrom ( 'mattcutts.com', url)> = 4) (/ / I vínculo para "limpiar" los sitios sólo / /? Matt, Feb 2006         pagerank += 2;     }      pagerank += countBacklinks(url) / 10000;      blacklist1 = getList(’c:\chinese-government-censored.txt’);     blacklist2 = getList(’c:\larry-page-hatelist.txt’);     if ( inArray(blacklist1, url) || inArray(blacklist2, url) ) {         pageRank = 0;     }      d = dashesInUrl(url);     pageRank = (d >= 3) ? Matt, Feb 2006 pagerank + = 2;) pagerank countBacklinks + = (URL) / 10000; blacklist1 = getList ( 'c: \ chino-gobierno-censored.txt'); blacklist2 = getList ( 'c: \ Roger Ad-página - hatelist.txt '); si (inArray (blacklist1, url) | | inArray (blacklist2, url)) (PageRank = 0;) d = dashesInUrl (url); PageRank = (d> = 3)? pageRank -1 : pageRank + 1;      if (inString(url, “how to build a bomb”)) {         // added on request. -1 PageRank: PageRank + 1; si (inString (url, "cómo construir una bomba")) (/ / añade a petición. 2004-12-01. 2004-12-01. recipient = “peter@homelandsecurity.gov”;         subject = “You might wanna check this…”;         sendMailTo(recipient, subject, url);          // page might still be relevant         pageRank++;     }      if (month() == “June” || month() == “October”) {         // makes people talk about         // PR updates, good publicity         pagerank -= randomNumber(1,3);     }          if (checkIdenticalPageAndLinkColor) {         // spammer!! destinatario = "peter@homelandsecurity.gov"; subject = "Es posible que desee comprobar esto…"; sendMailTo (destinatario, asunto, url); / / página puede aún ser pertinente PageRank + +;) if (mes () == "Junio" | | Mes () == "Octubre") (/ / hace que la gente habla de / / PR actualizaciones, la buena publicidad pagerank -= randomNumber (1,3);) if (checkIdenticalPageAndLinkColor) (/ / spammer! Googleaxe it!! Googleaxe!! pagerank = 0;     }      if (url == “http://www.nytimes.com”) {         // just testing, pls remove tomorrow         // ? pagerank = 0;) if (url == "http://www.nytimes.com") (/ / haciendo una prueba, pls eliminar mañana / /? Frank, June 2003         pagerank = 10;     }      //Don’t show PR above 10     if(pagerank > 10)  pagerank = 10;      return pagerank; } Frank, junio de 2003 PageRank = 10;) / / No mostrar PR si por encima de 10 (pagerank> 10) pagerank = 10; regreso pagerank;) 

Modified (to Java and added normalization etc.) from idea and original code by Modificados (para Java y añadió normalización etc) y de la idea original de código Jack Tang Jack Tang .