Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
Je suis en train de modifier un script que j'ai trouvé sur internet en PHP pour vérifier si mes xmilliers d'URL sont indexées dans Google.
Le script d'origine est celui de "Armand Philippot".
J'utilise 2 fichiers, un avec toutes mes URL et l'autre avec mes proxies (IP:Port:Login:Password).
Le problème c'est qu'il n'est pas fiable et ne donne pas toujours le bon résultat, je le partage avec vous, si on pouvait l'optimiser et le fiabiliser, je pense que cela pourrait intéresser pas mal de monde.
Surtout qu'en ce moment, Google est long à la détente et que l'indexation de nos Backlinks est primordial.
<?php
set_time_limit(0);
$nddok=0;
$nbserp=1;
$ext="fr";
$hl="fr";
$proxies='proxies.txt';
$url='indexer.txt';
$link_file = file($url);
for($y = 0; $y < sizeof($link_file); $y++)
{
$page=0;
$link_file[$y]=str_replace((array("\r\n", "\n", "\r")),"",$link_file[$y]);
$urlgoogle="http://www.google.".$ext."/search?hl=".$hl."&q=".urlencode($link_file[$y]).".&start=".$page."&filter=0&num=1";
$useragent="Mozilla/5.0";
$urlserp="";
$resultat='<spans style="color:#E32126;">Non indexé</span>';
$ch=curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_URL, $urlgoogle);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Ajoute l'option proxy si un fichier est mis en paramètre.
if(!empty($proxies))
{
$proxy_file = file($proxies);
$index = array_rand($proxy_file);
$proxy = explode(":", $proxy_file[$index]);
$proxy[3]=str_replace((array("\r\n", "\n", "\r")),"",$proxy[3]);
$loginpassw = $proxy[2].':'.$proxy[3];
$proxy_ip = $proxy[0];
$proxy_port = $proxy[1];
echo $loginpassw.' >> ';
echo $proxy_ip.' >> ';
echo $proxy_port.'<br />';
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
}
$serps=curl_exec($ch);
if ($serps === true) {
echo "cURL Error: ", curl_error($ch);
}
else {
// Pause Aléatoire
sleep(rand(1,15));
preg_match_all('/<h3 class="r"><a href="(.*?)"/si',$serps,$matches);
$result=count($matches[1]);
$i=0;
while($i<$result)
{
$urlserp.=trim($matches[1][$i]);
$urlserp=str_replace("/url?q=","",$urlserp);
$urlserp=preg_replace("~(.+&sa)[^/]*~","$1",$urlserp);
$urlserp=str_replace("&sa","<br />",$urlserp);
$urlserp=str_replace("/search?q=".urlencode($link_file[$y])."&tbm=plcs","",$urlserp);
$test = $link_file[$y].'<br />';
$urlserp=str_replace((array("\r\n", "\n", "\r")),"",$urlserp);
echo '<strong>Cible : </strong>'.$test.'<br />';
echo '<strong>Résultat : </strong>'.$urlserp.'<br />';
if ($test === $urlserp) {$nddok=1;}
//if ($test === ($urlserp.'/<br />')) {$nddok=1;}
if ($nddok==1) { $resultat='<spans style="color:#297C10;">Indexé</span>'; } else { $resultat='<spans style="color:#E32126;">Non indexé</span>'; }
$i++;
flush();
}
echo '<p>'.$link_file[$y].' >> '.$resultat.'</p>';
}
curl_close($ch);
}
?>
</body>
</html>
Merci à tous
« Savoir pour prévoir, afin de pouvoir. »
🔴 Hors ligne
Je connais pas le PHP, mais en tout cas c'est vraiment le genre de truc qui peut m’intéresser car pour l'instant pour vérifier mes bl je fais du site:BL.com, et ça commence à me souler
Merci pour avoir commencer ce travail !
Dernière modification par marneus74 (2015-07-27 12:59:35)
Podcast SEO & Business web : Wizards Podcast par Les Wizards
🔴 Hors ligne
Sympa le partage mais ça coute cher en proxy 0__0.
Ton script fait autant de scrapp Google que tu as de page. Ca veux dire que si tu as 1 000 pages (pas si énorme que ça) tu as droit à 1 000 scrapp google alors que tu peux récupérer le tout en 10 scrapp avec num=100. Ce serait plus gérable (et plus rapide) d'abord de télécharger tous les résultat en utilisant num=100 plutot que num=1 puis de comparer ensuite.
🔴 Hors ligne
Sympa le partage mais ça coute cher en proxy 0__0.
Ton script fait autant de scrapp Google que tu as de page. Ca veux dire que si tu as 1 000 pages (pas si énorme que ça) tu as droit à 1 000 scrapp google alors que tu peux récupérer le tout en 10 scrapp avec num=100. Ce serait plus gérable (et plus rapide) d'abord de télécharger tous les résultat en utilisant num=100 plutot que num=1 puis de comparer ensuite.
En fait mes URL sont toutes différentes, je ne cherche pas à avoir les pages indexées d'un site, mais toutes les pages unitaires de mes BL (sur des domaines différents à chaque fois, c'est pour cela que je ne cherche qu'un seul résultat).
« Savoir pour prévoir, afin de pouvoir. »
🔴 Hors ligne
Je connais pas le PHP, mais en tout cas c'est vraiment le genre de truc qui peut m’intéresser car pour l'instant pour vérifier mes bl je fais du site:BL.com, et ça commence à me souler
Merci pour avoir commencer ce travail !
Merci à toi marneus74
« Savoir pour prévoir, afin de pouvoir. »
🔴 Hors ligne
Mitsu a écrit :Sympa le partage mais ça coute cher en proxy 0__0.
Ton script fait autant de scrapp Google que tu as de page. Ca veux dire que si tu as 1 000 pages (pas si énorme que ça) tu as droit à 1 000 scrapp google alors que tu peux récupérer le tout en 10 scrapp avec num=100. Ce serait plus gérable (et plus rapide) d'abord de télécharger tous les résultat en utilisant num=100 plutot que num=1 puis de comparer ensuite.En fait mes URL sont toutes différentes, je ne cherche pas à avoir les pages indexées d'un site, mais toutes les pages unitaires de mes BL (sur des domaines différents à chaque fois, c'est pour cela que je ne cherche qu'un seul résultat).
JE ne veux pas etre un vilain mais Mitsu a raison. Il faudrait en plus passer ton script en classe. Ensuite, depuis un autre fichier php, genre CallTheVilains.php, tu pourrais éventuellement définir un constructeur voir limite le threader pour optimiser d avantage.
Si j ai un peu de temps je mettrais à jour .
Mon blog de geek SEO: http://www.moise-le-geek.fr/
🔴 Hors ligne
JE ne veux pas etre un vilain mais Mitsu a raison. Il faudrait en plus passer ton script en classe. Ensuite, depuis un autre fichier php, genre CallTheVilains.php, tu pourrais éventuellement définir un constructeur voir limite le threader pour optimiser d avantage.
Si j ai un peu de temps je mettrais à jour .
Ho yes Yeurl, si tu pouvais trouver un peu de temps, cela aiderait bien
« Savoir pour prévoir, afin de pouvoir. »
🔴 Hors ligne
dello, des news de ce script monté en classe? thx
Ne te moques pas de celui qui se noie tant que tu n'as pas atteint l'autre rive!
🔴 Hors ligne
Pages :: 1