Récupérer le prénom grâce à l'adresse mail

Récupérer le prénom grâce à l'adresse mail - PHP - Programmation

Marsh Posté le 09-07-2011 à 11:43:10    

Bonjour à tous
 
Voila mon problème, il est très simple.
 
J'ai un site web sur lequel j'ai récolté des adresses mails mais le truc c'est que j'ai oublié de demander le prénom qui va avec. Heureusement j'ai de la chance 80% de mes visiteurs ont Facebook et en tapant leur adresse dans la barre de recherche de Facebook je retrouve leur prénoms. En fait ce dont j'aurai besoin c'est de savoir s'il est possible de faire un programme qui fait la chose suivante: on lui donne une liste d'adresses mails et il me renvoie la liste des prénoms correspondants. Le top serait de directement le convertir en CSV avec les correspondances en question.
Si je vous demande ça c'est que j'ai 1629 adresses mails et le faire à la main me semble un peu long ;-)
 
Merci à vous


Message édité par kvf300 le 09-07-2011 à 11:51:37
Reply

Marsh Posté le 09-07-2011 à 11:43:10   

Reply

Marsh Posté le 10-07-2011 à 11:02:06    

Oui, tu peux utiliser l'outil "Snoopy" qui est une sorte de mini navigateur web en php : en gros, tu donnes une url à une fonction de cet outil et il te retourne le code html, éventuellement avec des éléments déjà classés (liens, formulaires...).
Pour le csv, c'est juste de mettre un ; entre l'email et le prénom récupéré puis un \n à la fin, le tout stocker dans un fichier via fopen, fwrite, fclose.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-07-2011 à 14:21:08    

Merci mais on m'a dit que c'était interdit par Facebook d'effectuer des recherches automatiques via des robots ou des fonctions.

Reply

Marsh Posté le 10-07-2011 à 15:25:04    

certes, mais rien ne t'oblige à le faire d'un coup, tu peux étaler la recherche sur un temps de qq heures (par ex, 48h, ça fait 33 recherches par heure, ça va être discret)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-07-2011 à 15:31:35    

Yep ! Le truc c'est que je vois pas comment choper le prénom. En fait on peut faire ça:
 
1 - Effectuer la requète suivante http://www.facebook.com/search.php [...] hotmail.fr
2 - Dans la page HTML on a bien le prénom et le nom.
 
Voila après je ne sais pas du tout comment fonctionne Snoop.
 
Si tu pouvais m'aiguiller ça serait sympa de ta part ;-)

Reply

Marsh Posté le 10-07-2011 à 16:26:35    

ben Snoopy permet de saisir des infos dans un formulaire et de poster puis de récupérer le résultat...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-07-2011 à 12:18:29    

KVF 300,
 
il existe un outil appelé lex, il demande quelques connaissances théoriques sur les langages et les expressions régulières. Il faut un peu bosser pour le maîtriser, mais c'est d'une efficacité redoutable ! tu peux quasiment tout faire en ce qui concerne la gestion de texte.
la version libre s'appelle flex. donc à coupler avec un petit script pour facebook,  
mais c'est peut être sortir un bazooka pour tuer des mouches, en attendant, c'est très utile ....

Reply

Marsh Posté le 11-07-2011 à 13:27:28    

Au vu de ces réponses je crois que mes connaissances en informatique sont vraiment trop faibles. Alors à moins que l'on me serve sur un plateau d'argent ne serait ce que la marche à suivre je ne me sens pas du tout capable d'utiliser tous ces services dont vous m'avez parlé.  
 
Je vous remercie tout de même.

Reply

Marsh Posté le 11-07-2011 à 13:28:24    

ben c'est clair. Avec ma lib Snoopy, tu fais une requête de type GET sur l'url :http://www.facebook.com/search.php?q=toto@test.fr
 
Puis dans le résultat (page html), tu recherches la chaîne suivante :
<div class="clearfix"><a class="lfloat"
 
Après, plus qu'à récupérer le texte avant le </a> et c'est fini.
 
2 ex :  
http://www.jonasjohn.de/snippets/p [...] xample.htm
http://stackoverflow.com/questions [...] opy-in-php
 
Dans ton cas, le code donnerait un truc du genre :

Code :
  1. vars = array("q"=>"toto@test.fr" );
  2. $snoopy = new Snoopy();
  3.  
  4. $snoopy->httpmethod = "GET"; // is GET by default
  5. $snoopy->submit("http://www.facebook.com/search.php", $vars);
  6. print $snoopy->results;


 
Ca, ça t'affiche la page de facebook avec le résultat. Plus qu'à faire un petit coup de stripos() sur $snoopy->results pour trouver la position de <div class="clearfix"><a class="lfloat" puis un petit coups de substr() pour extraire la portion de chaîne située à l'intérieure du lien hypertexte. Après, se débrouiller pour avoir juste le prénom ;) (un explode sur le caractère espace, par ex)...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-07-2011 à 13:32:46    

Oui mais suite au avis de certains j'ai appris que Facebook risque de supprimer mon compte car ceci est interdit dans leurs CGU.

Reply

Marsh Posté le 11-07-2011 à 13:32:46   

Reply

Marsh Posté le 11-07-2011 à 17:58:40    

En faisant seulement qq requêtes par heure et en mettant un random sur le délai entre 2 requêtes, tu devrais pas te faire toper :/ En plus, si c'est la première fois, t'auras probablement au pire un rappel à l'ordre...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-07-2011 à 18:26:10    

J'ai pas envie te tenter le diable mais merci quand même.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed