2010-03-21 3 views
2

Existe-t-il un moyen de comptabiliser par programme le nombre de liens pour un site Web? Est-ce que google fournit une API que puis-je interroger par programmation?Nombre de liens par programme

+0

Regex est votre solution – Pierreten

+0

voulez-vous compter lien entrant vers un site Web ou liens à l'intérieur ce site? – Benoit

Répondre

1

Vous pouvez écrire un grattoir (je ne le recommande pas cependant).

$page = file_get_contents('http://www.google.com/?q=link:site.com'); 
$page = str_replace(array('<b>', '</b>', ','), array('', '', ''), $page); 

preg_match('/Results (\d+) - (\d+) of about (\d+) for/', $page, $match); 

var_dump($match); 
+1

cela conduira à captcha montré aux utilisateurs équitables et pourquoi je déteste une telle réponse. –

0

Vous utilisez peut-être l'API de recherche Google Ajax? Je ne suis pas très familier avec elle, donc je n'ai pas des exemples de code, mais vous pouvez aller ici pour le vérifier: http://code.google.com/apis/ajaxsearch/

Il y a aussi quelques exemples de code php dans la documentation

0

Utilisation du Zend Framework, vous pouvez utiliser trouver tous les liens sur une page Web avec ce morceau de code:

$numberOfLinks = 0 
$client = New Zend_Http_Client(); 
$client->setUri('http://www.yoururl.com'); 
$response = $client->request(); 
if ($response->isSuccessful()) { 
    $body = $response->getBody(); 
    $doc = Zend_Search_Lucene_Document_Html::loadHTML($body,TRUE) 
    $links = $doc->getLinks(); 
    foreach ($links as $link) { 
     $numberOfLinks++; 
    } 
} 

Le résultat est évidemment stocké dans numberOfLinks $ :-)

Questions connexes