Extraction emails avocats

Salut,

J’ai des difficultés à extraire les emails de ce site

http://www.avocatparis.org/annuaire

Quelqu’un aurait une idée pour m"aider

1 « J'aime »

Salut,

J’ai déjà eu à faire à cette base pour un client, et la tâche fût vraiment ardue.

Pour plusieurs raisons:

  • Site full JS
  • Le nombre de résultats retournés est limité à 300 max, ce qui fait que pour n’importe quelle recherche retournant plus de 300 résultats, tu perds le reste
  • Les résultats sont toujours retournés aléatoirement, ce qui veut dire que si tu fais deux fois la même requête, et que cette requête contient plus de 300 résultats, tu n’auras jamais les mêmes résultats affichés.
  • Il faut faire un découpage des recherche par arrondissement. Mais même en procédant ainsi, nombre de tes recherches comprendront plus de 300 résultats.
  • Il faut donc faire un découpage par: arrondissement + chaque lettre de l’alphabet (A-Z), ce qui te fait 20 arrondissements x 26 requêtes au total = 520 requêtes.
  • Quand même en découpant par arrondissement + lettre, tu obtiens encore plus de 300 résultats, il faudra découpé par arrondissement + lettre + 2ième lettre, exemple: arrondissement X, lettres A+A, A+B, A+C…A+Z

Tout ça à gérer via un bot qui prend en compte le JS.

3 « J'aime »

Et pour info, il n’y a pas moins que 34 900 emails…

1 « J'aime »

Hello @sporret,

j’ai réalisé l’extraction depuis ce site il y a quelque mois.
J’ai toujours les données si tu veux.
email / tel / expertises etc…

@+

Petite astuce que j’avais mis en place :
Comme tu n’as accès qu’à 300 résultats par requêtes, l’idée était de faire en sorte que les requêtes ne retournent jamais plus de 300 résultats.

Dans l’idée, tu pars de l’url suivante : http://www.avocatsparis.org/Eannuaire/CMSListeRecherche.aspx?nom=[a-z]&Pre=&ChReNom=1&Adr=&Arr=[1-20]&mail=True&Site=False&Toque=&etranger=False

Et tu utilises les indices suivants :

  • Arr=[1-20] - Variable indiquant le critère arrondissement (que je fais varier de 1 à 20 par exemple)
  • nom=[a-z]&Pre=&ChReNom=1 - La dénomination (prénom / nom / nom du cabinet) (que je fais varier de la lettre a à la lettre z par exemple)
  • mail=True - Force seulement les résultats avec emails

Tu peux rajouter des paramètres pour réduire encore le nombre de résultats pas requêtes (en s’assurant de bien balayer l’ensemble des résultats possibles).

Amuse toi bien :wink:

1 « J'aime »

Oups, @scrapingexpert t’avait déjà donné la solution. Si avec tout ça tu n’y arrives pas :stuck_out_tongue_winking_eye:

Salut :), j’ai essayé de récupérer cette base aussi il y à un mois (echec). Je suis super interessé si tu veux bien. Comment tu as procédé pour la récupérer? merci :slight_smile:

Procédure indiquée ci-dessus, pour 34 900 emails :wink:

Yes avec plaisir

Un simple script avec http://webscraper.io (extension chrome) et l’explication que j’ai donné plus haut (qui est en fait un doublon de celle déjà donnée par @scrapingexpert). A toi de jouer :wink: