6
votes

Comment écrire un script PHP pour trouver le nombre de pages indexées dans Google?

J'ai besoin de trouver le nombre de pages indexées dans Google pour un nom de domaine spécifique, comment le faisons-nous via un script PHP?

SO, P>

    foreach ($allresponseresults as $responseresult)
    {
        $result[] = array(
            'url' => $responseresult['url'],
            'title' => $responseresult['title'],
            'abstract' => $responseresult['content'],
        );
    }

php

0 commentaires

6 Réponses :


0
votes

Comptez le nombre de résultats pour Site: Votredomainhere.com - Stackoverflow.com a à propos de 830k


0 commentaires

1
votes

Vous chargez http://www.google.com/search?q=domaingoeshere.com avec CURL puis analysez le fichier à la recherche des résultats

bit.

vous auriez le HTML résultant stocké dans une variable $ html , puis dites quelque chose comme xxx

Veuillez noter que ceci n'est pas testé et un exemple très rugueux. Vous feriez mieux d'analyser le HTML avec un analyseur dédié ou correspondant à la ligne avec des expressions régulières.


0 commentaires

15
votes

Je pense qu'il serait plus agréable de google d'utiliser leur API de recherche reposante. Voir cette URL pour un exemple d'appel:

http: // ajax .googleapis.com / ajax / Services / Search / Web? V = 1.0 & Q = Site: Stackoverflow.com & Filtre = 0 P> blockQuote>

(vous êtes intéressé par le estiméResultCount code> valeur) p>

in php Vous pouvez utiliser file_get_contents code> pour obtenir les données et json_decode pour analyser. p>

Vous pouvez trouver la documentation ici: P>

http://code.google.com/apis/ajaxsearch/documentation/# fonje p> BlockQuote>


Exemple H2>

AVERTISSEMENT FORT>: Le code suivant n'a aucune sorte de vérification des erreurs sur la réponse! P>

function getGoogleCount($domain) {
    $content = file_get_contents('http://ajax.googleapis.com/ajax/services/' .
        'search/web?v=1.0&filter=0&q=site:' . urlencode($domain));
    $data = json_decode($content);
    return intval($data->responseData->cursor->estimatedResultCount);
}

echo getGoogleCount('stackoverflow.com');


2 commentaires

@BlixT: Savez-vous si compter les pages indexées d'un site Web, à l'aide de cet outil d'API, a des inconvénients de la manière dont votre site Web est classé en fonction de Google? En d'autres termes, est-il correct de faire un outil sur mon site Web, ce qui montre à l'utilisateur la NR des pages indexées que Google a sur une URL, en utilisant l'exemple ci-dessus API?


Merci beaucoup mier ... un peu en retard, mais va montrer comment ça aident :)



1
votes

Google Ajax API estimé à estimer les valeurs ne donne pas la bonne valeur. Et essayer d'analyser le résultat HTML n'est pas un bon moyen car google bloque après plusieurs recherches.


1 commentaires

Ou utilisez siteprice.org/api Il renvoie les résultats de Google, Yahoo et Bing Résultats de la requête comptent et assez bon marché.



0
votes
// This will give you the count what you see on search result on web page, 
//this code will give you the HTML content from file_get_contents

header('Content-Type: text/plain');

$url = "https://www.google.com/search?q=your url";
$html = file_get_contents($url);
if (FALSE === $html) {
    throw new Exception(sprintf('Failed to open HTTP URL "%s".', $url));
}

$arr = explode('<div class="sd" id="resultStats">', $html);
$bottom = $arr[1];
$middle = explode('</div>', $bottom);
echo $middle[0];

Output:
About 8,130 results

//vKj

Case 2: you can also use google api, but its count is different:
https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=ursitename&callback=processResults

0 commentaires

0
votes

https: //ajax.googleapis .com / Ajax / Services / Recherche / Web? V = 1.0 & Q = Site: Google.com

curseur ": {" résultatcount ":" 111 000 000 "," "EstimationResultCount": "111000000",


0 commentaires