2010-05-01 14 views

Respuesta

4

La plena aplicación en PHP sería algo como esto:

<?php 
$domain = "example.com"; // Enter your domain here. 

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&" 
    . "q=link:".$domain; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_REFERER, $domain); 
$body = curl_exec($ch); 
curl_close($ch); 

$json = json_decode($body); 
$urls = array(); 
foreach($json->responseData->results as $result) // Loop through the objects in the result 
    $urls[] = $result->unescapedUrl;    // and add the URL to the array. 
?> 

Básicamente editar el dominio variable en la parte superior y se llenará la $urls matriz con URLs sin protección que enlazan con el dominio.

EDITAR: He editado el enlace para obtener 8 resultados. Para obtener más información, deberá analizar las páginas y recorrerlas con el parámetro de inicio. Consulte el Class Reference para obtener más información.

+0

usando este código no obtengo el resultado correcto como enlace: example.com – webkul

+0

funciona solo 4 veces – webkul

1

Ejecute una búsqueda en Google con la URL con el prefijo link: - por ejemplo, link:www.mydomain.com.

Si bien Google proporciona una descripción general de vínculos de retroceso más específica en su área de Herramientas para webmasters (more info), no estoy seguro de que proporcionen una API externa para ella.

+0

pero ¿cómo lo puedo usar en mi código PHP? – webkul

+1

Utilice la API de búsqueda de Google AJAX: http://code.google.com/apis/ajaxsearch/documentation/#fonje – Amber

1

ya que la pregunta es "cómo usar en el código php?" Supongo que desea procesar en el lado del servidor en lugar de ajax en el lado del cliente. Así que utilice el enlace URL Google: corte en combinación con el enrollamiento http://php.net/manual/en/book.curl.php

+0

JSON no está limitado a AJAX. También puede analizar JSON con PHP, el enlace de Dav contiene un ejemplo. –

+0

No estoy diciendo que lo sea, fue aclarar a la op que se puede utilizar en el lado del servidor. Creo que la parte importante fue usar curl, que con gusto tomaste de mi respuesta. – RandyMorris

+0

En realidad, eso vino del API dav vinculado. Todo menos el foreach fue copiado de allí. –

0

Para encontrar enlaces externos a la página: (backlinks externos)

<?php 
     $url = "any url"; 
    $result_in_html = file_get_contents("http://www.google.com/search?q=link:{$url}"); 
    if (preg_match('/Results .*? of about (.*?) from/sim', $result_in_html, $regs)) 
    { 
     $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags 
     echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u>external links to page'; 
    } elseif (preg_match('/About (.*?) results/sim', $result_in_html, $regs)) 
    { 
     $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags 
     echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> external links to page'; 
    } else 
    { 
     echo ucwords($domain_name) . ' Has Not Been Indexed @ Google.com!'; 
    } 
    ?> 

y para encontrar los vínculos de retroceso internos:

<?php 
    $url = "any url"; 
    $result_in_html = file_get_contents("http://www.google.com/search?q=site:{$url}"); 
    if (preg_match('/Results .*? of about (.*?) from/sim', $result_in_html, $regs)) 
    { 
     $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags 
     echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> internal links to page'; 
    } elseif (preg_match('/About (.*?) results/sim', $result_in_html, $regs)) 
    { 
     $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags 
     echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> internal links to page'; 
    } else 
    { 
     echo ucwords($domain_name) . ' Has Not Been Indexed @ Google.com!'; 
    } 
    ?> 
1
function load_content ($url, $auth = true,$auth_param) { 
      $curl = curl_init(); 
      $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; 
      if ($auth){ 
        curl_setopt($curl, CURLOPT_USERPWD,$auth_param); 
      } 
      curl_setopt($curl, CURLOPT_URL, $url); 
      curl_setopt($curl, CURLOPT_USERAGENT, $uagent); 
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($curl, CURLOPT_TIMEOUT, 3); 
      $content = curl_exec($curl); 
      //$header = curl_getinfo($curl); 
      curl_close($curl); 
      $res['msg'] = "";//$header; 
      $res['content'] = $content; 
      return $res; 
} 

function google_indexed($url){ 
      $html = load_content ($url,false,""); 
      return $html; 
} 

Ejemplo:

<?php 
$domain = "google.com"; 
$indexed["google"] = google_indexed("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:$domain"); 

http://alex-kurilov.blogspot.com/2012/09/backlink-checker-google-php-example.html

Cuestiones relacionadas