Ecrit par admin le Dimanche 26 octobre 2008 à 15:12 - Catégorie Scraping,Scripts PHP
Comment extraire / parser les urls de résultats de recherche de Google ?
Cela fait plusieurs fois qu’on me demande comment extraire les urls de résultats de recherche de Google dans le but de les utiliser pour diverses raisons : recherche de pages de soumission d’annuaires, recherche des pages de blog avec commentaires, pages de forums, commande link ou site…
Voici donc un script php qui permet d’extraires ces urls de Google.
Différentes options sont proposées, comme le nombre de pages à extraire ou le moteur Google où se fera l’extraction ainsi que la langue du moteur.
Code source du script :
Voici le code du script php à copier/coller dans un fichier et à uploader sur votre serveur ou à utiliser en local :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| <?php
//Script php : Extraction urls Résultats Google
// Copyrights 2008 Seoblackout.com
//http://www.seoblackout.com
//Url script : http://www.seoblackout.com/2008/10/26/extraire-resultats-google/
@set_time_limit(0);
$useragent='Mozilla/5.0';
$regex='<h3 class="r">';
//extension et langue google
if ((isset($_POST['ext'])) && ($_POST['ext']!=''))
{
$ext=strip_tags($_POST['ext']);
if ($ext=='fr') {
$lang='fr';
}
else if ($ext=='com') {
$lang='en';
}
else if ($ext=='es') {
$lang='es';
}
else if ($ext=='de') {
$lang='de';
}
else if ($ext=='ca') {
$lang='en';
}
else if ($ext=='ca2') {
$ext='ca';
$lang='fr';
}
else {
$ext='fr';
$lang='fr';
}
}
else
{
// par défaut, on recherche sur google.fr et lang=fr
$ext='fr';
$lang='fr';
}
//nombre de page à extraire :
if ((is_numeric($_POST['pages'])) && ($_POST['pages']!=''))
{
$c=(strip_tags($_POST['pages'])-1);
}
else
{
//10 pages par défaut, on part de 0 donc 10 pages = 9
$c=9;
}
if ((isset($_POST['kw'])) && ($_POST['kw']!=''))
{
$kw=trim(strip_tags($_POST['kw']));
$pagenum = 0;
$googlefrurl = "http://www.google.".$ext."/search?hl=".$lang."&q=" . urlencode($kw) . "&start=$pagenum";
$url_new = '';
while($pagenum <= $c)
{
if (function_exists('curl_init'))
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $GLOBALS['useragent']);
curl_setopt($ch, CURLOPT_URL,$googlefrurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
}
else
{
$result= file_get_contents($googlefrurl);
}
preg_match_all('/'.$regex.'<a href="(.*?)"/si', $result, $matches);
$i = 0;
$n = count($matches[1]);
$pagenum++;
$pagenum2 = $pagenum.'0';
$googlefrurl = "http://www.google.".$ext."/search?hl=".$lang."&q=" . urlencode($kw) . "&start=$pagenum2&safe=off&pwst=1&filter=0";
while($i <= $n)
{
$url_new1 = addslashes($matches[1][$i]);
$url_new .= trim($matches[1][$i])."<br>";
$i++;
flush();
}
}
$url_new .= '';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Extraction Urls résultats Google</title>
</head>
<body>
<h1>Extraction Urls résultats Google</h1>
<div>
<?php
if ((isset($_POST['kw'])) && ($_POST['kw']!='')) {
echo "<h3>Keyword : ",strip_tags($kw),"</h3>";
echo "<h6>Google Results</h6>";
echo str_replace('<br><br>','<br>',$url_new);
}
?>
<form method="POST" action="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>">
<p>Saisir vos mots-clés :</p>
<input name="kw" type="text" size="100" value="<?php if (isset($_POST['kw'])) {echo strip_tags($kw);} ?>">
<p>Nombre de pages à extraire (optionel => 10 pages par défaut):</p>
<input name="pages" type="text" size="3" maxlength="3" value="<?php if (isset($_POST['pages'])) {echo strip_tags($_POST['pages']);} else {echo '10';} ?>">
<p>Moteur :</p>
<select name="ext">
<option value="fr"<?php if (($_POST['ext'])=='fr') {echo ' selected';} ?>>Google.fr (hl=fr)</option>
<option value="com"<?php if (($_POST['ext'])=='com') {echo ' selected';} ?>>Google.com (hl=en)</option>
<option value="es"<?php if (($_POST['ext'])=='es') {echo ' selected';} ?>>Google.es (hl=es)</option>
<option value="de"<?php if (($_POST['ext'])=='de') {echo ' selected';} ?>>Google.de (hl=de)</option>
<option value="ca"<?php if (($_POST['ext'])=='ca') {echo ' selected';} ?>>Google.ca (hl=en)</option>
<option value="ca2"<?php if (($_POST['ext'])=='ca2') {echo ' selected';} ?>>Google.ca (hl=fr)</option>
</select>
<p><input type="submit" value="Go" name="go">
<input type='button' value='Annuler' onclick='location.href="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>"'></p>
</form>
<br />
<small>Script proposé par SEO BlackOut : <a href="http://www.seoblackout.com/">référencement</a></small>
</div>
</body>
</html> |
Démo :
Dans la démo, le nombre de résultats extraits est limité à 3 pages uniquement !
http://www.seoblackout.com/scripts/extraire-urls-google.php
Catégorie: Scraping,Scripts PHP
Ecrit par admin le Samedi 13 septembre 2008 à 1:41 - Catégorie Scripts PHP
Script PHP : Classement Google par Pagerank version internationale
Google Logo
Voici une mise à jour du script PHP en libre téléchargement : Classement Google par pagerank et backlinks yahoo (à consulter en préambule), qui vous permet maintenant de chercher sur Google en choisissant la langue du moteur.
Les recherches peuvent se faire désormais sur :
Google.fr
Google.com,
Google.es,
Google.it,
Google.de,
Google.be,
Google.pt,
Google.cn,
Google.co.uk,
Google.co.jp,
Google.ch,
Google.ca,
Google.ru
Démonstration du script
http://www.seoblackout.com/scripts/classement-google-pr/classement-google-pagerank.php
Limite d’affichage à 30 résultats dans la démo.
Téléchargement et installation du script
Télécharger l’archive zippée ci-dessous :
http://www.seoblackout.com/scripts/classement-google-pr/classement-google-pagerank.zip
Décompressez dans un dossier puis uploadez le dossier sur votre ftp et appelez ensuite le script dans votre navigateur.
Exemple : http://www.votre-site-web.com/classement-google-pagerank/
Ce script a été mis à jour par Thomas Soudaz, webmaster d’un blog consacré au Webmarketing & Référencement dont je vous recommande la lecture.
Merci à lui pour avoir partagé sa version Google multilingue ici
Catégorie: Scripts PHP
Ecrit par admin le Lundi 21 avril 2008 à 4:05 - Catégorie Scripts PHP
Voici un script php en libre téléchargement permettant de calculer le positionnement de vos pages web sur Google et Yahoo.
J’ai écrit ce script en testant une classe php nommée htmlsql (une classe qui a de la classe… dont je vous reparlerai plus tard). Cette classe permet de scraper du contenu facilement à l’aide d’une syntaxe simple ressemblant à des requêtes mysql, ici je m’en sers pour scraper les liens.
Cette classe utilise aussi snoopy :
Snoopy est une classe PHP qui simule un navigateur web. Cette classe permet d’extraire le contenu de pages web et de soumettre automatiquement des formulaires.
Démonstration du script :
Vous pouvez voir une démonstration du script sur cette page : outil positionnement Google, Yahoo, Msn et Exalead.
Contenu de l’archive (3 fichiers) :
- snoopy.php
- htmlsql.php
- calcul-positionnement-google-yahoo.php
Téléchargement du script :
Script php : calcul positionnement Google et Yahoo
Catégorie: Scripts PHP
Ecrit par admin le Mercredi 13 février 2008 à 4:19 - Catégorie Outils référencement,Scripts PHP
Comment soumettre ou remplir des formulaires automatiquement avec Curl et PHP ?
Soumission automatique de formulaires Curl et PHP
Pour soumettre des données automatiquement à un formulaire, il faut dans un premier temps récupérer les informations obligatoires à saisir. Pour cela, on regarde le code source du formulaire et on extrait les champs à soumettre (on pourrait automatiser cette étape mais ce n’est pas l’objet de cet article).
On peut aussi utiliser l’extension webdeveloper pour Firefox, celle-ci permet de convertir un formulaire POST en GET et donc de voir les variables à passer directement dans l’url :

Cliquez ici pour télécharger cette extension indispensable.
Comment procéder pour remplir un formulaire de façon automatique en lancant un simple script PHP ?
Nous allons utiliser la librairie Curl, supportée par PHP. Curl va nous permettre de soumettre des données de façon automatique tout type de formulaires, commentaires de blogs, annuaires, forums et tout site web ayant des formulaires permettant de laisser des commentaires, messages ou autre…
Soumission automatique de formulaires Curl et PHP
Catégorie: Outils référencement,Scripts PHP
Ce script php génére des fautes de frappe pour un mot-clé donné.
Ce script php va vous permettre d’augmenter le trafic vers vos pages web en récupérant les visiteurs qui font des fautes lors de leur recherche sur les moteurs.
Télécharger le code du script :
» Cliquer ici pour télécharger le code source du script
Script php générateur de fautes de frappe
Catégorie: Génération de contenu,Outils référencement,Scripts PHP
Ce script PHP permet d’ajouter automatiquement une page web à vos favoris sur Del.icio.us à l’aide de Curl et en utilisant l’api de Del.icio.us.
Autosubmit del.icio.us – Script Php Curl
Catégorie: Backlinks,Outils de spam,Scripts PHP
Ecrit par admin le Vendredi 28 septembre 2007 à 1:43 - Catégorie Outils référencement,Scripts PHP
Comment éviter le duplicate content (contenu dupliqué) dans vos annuaires et autres sites de soumissions d’articles ?
Forcer les webmasters à saisir une description unique lors de la soumission de leur site dans votre annuaire pour éviter le risque de duplicate content (par exemple sur les fiches individuelles des sites inscrits dans vos annuaires).
Comment forcer les webmasters à saisir une description unique ?
En vérifiant sur Google que la description du site soumis dans l’annuaire n’est pas déjà présente plus de 10 fois dans les résultats de Google (modifier ce nombre à votre convenance).
Bien sûr, on peut utiliser d’autres moteurs, voir même des sites comme Copyscape pour contrôler la description en modifiant légèrement le script proposé.
Le script PHP à télécharger ci-dessous, permet donc de contrôler la description d’un site soumis dans votre annuaire et d’afficher un message d’alerte en cas de risque de duplicate content, vous devez adapter ce script à vos annuaires.
Eviter le duplicate content dans vos annuaires
Catégorie: Outils référencement,Scripts PHP
Voici un nouvel outil de suggestion de mots-clés qui vous permettra de découvrir d’autres mots-clés à partir d’un mot-clé donné :
Outil suggestion de mots-clés
Cet outil de génération de mots-clés peut être complémentaire à Google AdWords Tool, il permet d’afficher sur une même page, les mots-clés issus de :
- Overture
- Wordtracker
- keyworddiscovery
- Google suggest
- Google recherches apparentées
- Exalead
- Ask
- Adlab.microsoft.com
- Yahoo
Pour obtenir un maximum de mots-clés dans les résultats, il faut éviter de saisir vos mots-clés avec des accents, si vous cherchez « référencement » par exemple, saisissez « referencement ».
J’attends vos remarques et suggestions au pied de cet article, afin d’améliorer l’outil qui est encore en phase de développement.
Catégorie: Outils référencement,Scripts PHP