asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 5731
ASPCode.it - Store

  > > Tips

Rilevare il numero di backlink di un sito web
di Paolo Capitani

Data di pubblicazione: 13/07/2006        Voto della community: 4,33 (Votanti: 2)

Ritorniamo sul tema indicizzazione nei motori di ricerca (avviato con la tip Determinare il Page Rank di un dominio) pubblicando uno script che consente di determinare il numero di backlink di un sito web, ovvero il numero di pagine nel web che contengono un link a tale sito; esso può essere considerato come un indice di rilevanza del sito web in questione: "più siti esterni linkano il mio sito, più è probabile che il mio sito sia interessante".
Il motore di ricerca utilizzato come riferimento è Google. La funzione che andremo ad implementare e che definiamo GetGoogleBackLinks(), richiama, tramite l'oggetto Microsoft.XMLHTTP, la pagina dei risultati del motore per la query di ricerca:

link:www.nomedominio.com

dove www.nomedominio.com è proprio il nome del dominio per il quale stiamo ricercando il numero di backlink. Dopo aver ricevuto l'HTML di tale pagina, la funzione lo "parsa" alla ricerca della stringa di testo che rappresenta tale valore; inserisce il risultato ottenuto nella variabile blcount, lo formatta correttamente e lo restituisce come risultato.

<%
function GetGoogleBackLinks(domain)

  dim objXMLHTTP
  set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
  
  dim backLinksUrl
  backLinksUrl = "http://www.google.it/search?hl=it&q=link%3A" & domain & "&meta="
  objXMLHTTP.Open "GET", backLinksUrl, false
  on error resume next
  objXMLHTTP.Send()
  dim blbuf
  blbuf = CStr(objXMLHTTP.ResponseText)

  dim blpos1, blpos2
  blpos1 = instr(1, blbuf, "su circa <b>")

  if(blpos1=0)then
    blpos1 = instr(1, blbuf, "su <b>")
    if(blpos1>0)then
      blpos1 = blpos1 + 6
    end if
  else
    blpos1 = blpos1 + 12
  end if

  dim blcount
  if(blpos1>0)then
    blpos2 = instr(blpos1, blbuf, "</b>")
    blcount = mid(blbuf, blpos1, blpos2-blpos1)
  else
    blcount = 0
  end if

  blcount = replace(blcount, ".", "")

  if(not isnumeric(blcount))then
    blcount = 0
  end if

  set objXMLHTTP = nothing

  GetGoogleBackLinks = blcount

end function
%>

La funzione può essere poi semplicemente richiamata come segue:

<%
dim backLinks
backLinks = GetGoogleBackLinks("www.aspcode.it")

response.write("Il numero di backlink di aspcode.it è: " & backLinks)
%>

Al momento della stesura di questo breve articolo la funzione esegue correttamente il suo dovere; se in futuro la formattazione dell'output dei risultati del motore di ricerca Google dovesse cambiare, è possibile che si renda necessario apportare piccoli aggiustameni alla funzione nei punti in cui vengono determinati valori delle variabili pos1 e pos2.




Utenti connessi: 5731