Recherche logiciel d'extraction d'emails sur page web ?

Open_firmware

Membre confirmé
29 Septembre 2006
16
0
54
Salut !

Je suis à la recherche d'un logiciel performant d'extraction d'emails sur page web ?
Il existe eMail Ripper® mais il n'est pas performant ! :(
Alors si vous en connaissez un très pro, merci pour l'info ! :up:

:coucou:
 
Ah. Si ce n'est pas indiscret, pourquoi as-tu besoin d'un tel logiciel? :mouais:


Non, non, ce n'est pas du tout indiscret, je souhaite récupérer toutes les adresses emails qui se trouve sur les commentaires de mon blog (2753 excatement), certes il y a 50% de déchets mais qu'importe ! :)

Maintenant que je t'ai répondu, je suppose que tu as une info ? :mouais:
 
:( Je n'ai plus qu'a m'acheter un PC, car là j'ai trouvé des dizaine de logiciels ! :(

Oui bon, ça fait 45 minutes que tu as posé ta question attends quand même jusqu'à ce soir ou demain avant de déprimer. :D

Ce que je voulais dire c'est que je ne m'y connais pas dans ce genre de programmes et que donc je ne peux pas te renseigner. Mais je suis sûr que quelqu'un va pouvoir le faire... ;)
 
Non, non, ce n'est pas du tout indiscret, je souhaite récupérer toutes les adresses emails qui se trouve sur les commentaires de mon blog (2753 excatement), certes il y a 50% de déchets mais qu'importe ! :)

Maintenant que je t'ai répondu, je suppose que tu as une info ? :mouais:

C'est quoi comme moteur de blog... parce que dans bien des cas, tout est en base de données, et donc, il suffit juste d'une simple requête SQL et le tour sera joué...
 
Je suis un peu d'accord. Un code simple reconnaissant les emails à l'aide d'une expression régulière devrait bien marcher, soit dans le langage de la base de données que tu utilises, soit via php par exemple.
Pour info, pour reconnaître une adresse mail, l'expression régulière PCRE de base est celle-ci:
/^[\w\.]+@[\w\.]+\.[a-z]+$/i
 
Je suis un peu d'accord. Un code simple reconnaissant les emails à l'aide d'une expression régulière devrait bien marcher, soit dans le langage de la base de données que tu utilises, soit via php par exemple.
Pour info, pour reconnaître une adresse mail, l'expression régulière PCRE de base est celle-ci:
/^[\w\.]+@[\w\.]+\.[a-z]+$/i
on peut même affiner comme ça :
/^[\w\.\+_-]{2,}@[\w\._-]{2,}\.[a-z]{2,4}$/i

:)
 
on peut même affiner comme ça :
/^[\w\.\+_-]{2,}@[\w\._-]{2,}\.[a-z]{2,4}$/i

:)

D'accord pour le tiret, mais le caractère de soulignement "_" est inclus dans \w donc n'est pas nécessaire.
Par ailleurs, je ne comprends pas bien pourquoi tu définis des répétitions {2,} alors que + fonctionne bien? As-tu peur de te retrouver avec une adresse à une seule lettre du genre [email protected]?;)
 
Je suis très impressionné par votre langage ! :up:
Malheureusement pour moi, je ne suis pas de la partie ... :D

...et donc je suis incapable de mettre en pratique vos données ? ... :rose:
 
D'accord pour le tiret, mais le caractère de soulignement "_" est inclus dans \w donc n'est pas nécessaire.
Par ailleurs, je ne comprends pas bien pourquoi tu définis des répétitions {2,} alors que + fonctionne bien? As-tu peur de te retrouver avec une adresse à une seule lettre du genre [email protected]?;)
J'en ai pas peur, mais ça n'existe pas, donc tant qu'à faire...

pour le _ je ne savais pas qu'il était dans \w, c'est cool :)
 
Ce script php affiche la structure de ta base de données, recherche les adresses email par expression régulière dans chaque champ de chaque table et renvoie les résultats dans un tableau php ($resultats)...
Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>sql_infos</title>
	<style type="text/css" media="screen">
		.db{
			font-size:1.5em;
			font-weight:bold;
		}
		.tb{
			font-size:1.3em;
		}
		.resultat{
			color:red;
		}
	</style>
</head>
<body>
		<?php
			$flux = mysql_connect('sql_host', 'user', 'password');
			$regex = '/^[\w\.-]+@[\w\.-]+\.[a-z]+$/i';
			$resultats = array();
			//Listing des BDD
			$db_list = mysql_list_dbs($flux);
			$nb_db = mysql_num_rows($db_list);
			//
			echo "<ul> $nb_db Bases de données:";
			//
			for ($i = 0; $i< $nb_db; $i++){
				$db_name = mysql_db_name($db_list, $i);
				//
				echo "<li><span class='db'>$db_name</span> \n";
				//
				//Listing des TABLES
				$tables_list = mysql_list_tables($db_name);
				$nb_tables = mysql_num_rows($tables_list);
				//
				echo "<ul> $nb_tables Tables:";
				//
				for ($j = 0; $j< $nb_tables; $j++){ 
					$table_name = mysql_tablename($tables_list, $j);
					//
					echo "<li><span class='tb'>$table_name</span> \n";
					//
					//Listing des CHAMPS
					mysql_select_db($db_name);
					$query = "SHOW COLUMNS FROM $table_name";
					$fields_list = mysql_query($query);
					$nb_fields = mysql_num_rows($fields_list);
					//
					echo "<ul> $nb_fields Champs:";
					//
					while($row = mysql_fetch_assoc($fields_list)){
						$field_name = $row['Field'];
						//$db_tree[$db_name][$table_name][$field_name] = array();
						//
						echo "<li>$field_name \n";
						//
						$query = "SELECT $field_name FROM $table_name";
						$results =  mysql_query($query);
						while($row = mysql_fetch_assoc($results)){
							$str = $row[$field_name];
							if(preg_match_all($regex, $str, $matches, PREG_SET_ORDER)){
								echo "<ul> \n";
								foreach($matches as $match){
									foreach($match as $valeur){
										echo "<li class='resultat'>$valeur \n";
										$resultats[] = $valeur;
									}
								}
								echo "</li></ul> \n";
							}
						}
					}
					echo "</li></ul> \n";
				}
				echo "</li></ul> \n";
			}
			echo "</ul> \n";
			//
			echo "<pre> \n";
			print_r($resultats);
			echo "</pre> \n";
			//
		?>
	</body>
</html>

;)