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'],
);
}
6 Réponses :
Comptez le nombre de résultats pour Site: Votredomainhere.com Code> - Stackoverflow.com a à propos de em> 830k p>
Vous chargez bit. vous auriez le HTML résultant stocké dans une variable 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. P> P> http://www.google.com/search?q=domaingoeshere.com code> avec CURL puis analysez le fichier à la recherche des résultats $ html code>, puis dites quelque chose comme p>
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 etjson_decodepour 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');
@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 :)
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. P>
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é.
// 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
https: //ajax.googleapis .com / Ajax / Services / Recherche / Web? V = 1.0 & Q = Site: Google.com P>
curseur ": {" résultatcount ":" 111 000 000 "," "EstimationResultCount": "111000000", P>