Programlı bağlantıları # saymak

3 Cevap php

Ben programlı bir web sitesi için link sayısını sayabilirsiniz bir yolu var mı? Google programlı sorgulayabilirsiniz bir API sağlar mı?

3 Cevap

Bir kazıyıcı yazabilirsiniz (Ben olsa tavsiye etmiyoruz).

$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);

Belki de Google Ajax Search API kullanarak? http://code.google.com/apis/ajaxsearch/: Ben bu yüzden hiç kod örnekleri var ama bunu kontrol etmek için buraya gidebilirsiniz onunla çok aşina değilim

Bazı php kod örnekleri belgelerinde de vardır

Bu kod parçası ile bir web sayfasındaki tüm bağlantıları bulabilirsiniz kullanabilirsiniz Zend Framework kullanarak:

$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++;
    }
}

Sonuç olarak belli $ numberOfLinks :-) saklanır