Vous aurez besoin d'un tas de procurations en fonction du nombre de demandes que vous prévoyez d'envoyer. Vous pouvez envoyer environ 500 demandes par jour et IP/proxy sans causer de problèmes ou être détecté.
Vous devriez lire l'article google-rank-checker.squabbel.com, il contient un grattoir complet en PHP. Utilisez ce grattoir, modifiez-le selon vos besoins et ajoutez le code de phpsimplehtmlparser (l'autre réponse) pour obtenir les informations sur les hits totaux pour les mots-clés.
Je suggère l'utilisation de libCURL pour accéder à Google lui-même. Vous aurez BEAUCOUP plus d'options que d'utiliser une API plus simple, vous n'aurez pas beaucoup de plaisir avec les fonctions internes de php file_get_html() ou similaires puisque Google bloquerait votre script très bientôt.
Quelque chose comme ceci:
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , 1);
$curl_proxy = "$IP:$PORT";
curl_setopt($ch, CURLOPT_PROXY, $curl_proxy);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en; rv:1.9.0.4) Gecko/2009011913 Firefox/3.0.6");
$url = sprintf('http://www.google.com/search?q=%s', $keyword);
curl_setopt ($ch, CURLOPT_URL, $url);
$htmdata = curl_exec ($ch);
Maintenant, il suffit d'utiliser pour saisir les données de HTMLData $
Je pense que cela est contraire aux conditions de service;) –
Google propose une api de recherche qui peut être utilisé par PHP. Je ne l'ai jamais utilisé, mais obtenir le total des résultats de recherche pourrait être possible avec: http://code.google.com/apis/ajaxsearch/documentation/#fonje_snippets – mre
Si vous obtenez directement les résultats plusieurs fois de suite, alors Google va probablement bloquer votre adresse IP Si vous prévoyez de le faire régulièrement, vous devrez passer par un proxy ou limiter le nombre de connexions que vous faites par heure. – Chris