Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

#1 2016-02-18 15:07:17

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 638

Adminstration Serveur
Sécurité
Scraping
Développement Python
Site Web

Scraping Linux: scraper un site et en récupérer les emails

Ay,

Petit bout de shell pour scraper un site et récupérer les emails, le tout sous Linux. J'avais posté le code sur mon site et je le partage ici.

On scrape:


wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains ledomaine.tld \
     --no-parent \
         www.ledomaine.tld
 

On grep les emails dans le dossier généré:


cd www.ledomaine.tld/ && grep -R -E -oh "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" * > emails.csv
 

Si les emails sont du type lolilol [at] undomaine.tld on remplace le catch par un @, histoire de nettoyer:


find . -type f -exec sed -i 's/ \[at\] /@/g' "{}" +;
 

Un gist est disponible avec un bash script prêt à l'emploi: https://gist.github.com/KrustyHack/2f5898db0d2571959b48

A plus !


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#2 2016-02-18 16:03:06

Mention Jaffaar
Guardian
Lieu : Marseille
Inscription : 2012-06-01
Messages : 5 368

Développement PHP
Développement JS
Networking SEO
Social Engineering
Site Web

Re : Scraping Linux: scraper un site et en récupérer les emails

sympa et original comme méthode, ca manquais des gens qui touche en linux ici smile

thx


⌕ Tu veux Ranker ?
⏩ Actives le mode automatique : SEO Quartz             
⏩ Profite d'un consultant SEO (sur Marseille ou sur Skype => jaffaarbh )
⏩ Tu veux des techniques concrètes ? SEO Basics Skills - SEO Ranking Skills

Hors ligne

#3 2016-02-19 09:55:35

Mention durando
Scout
Inscription : 2015-04-25
Messages : 325

Audit et Analyse
Html Css

Re : Scraping Linux: scraper un site et en récupérer les emails

Merci  @KrustyHack. Dans la même veine, est-ce que quelqu'un saurait comment extraire avec grep les urls de liens présents dans un pdf ?

Hors ligne

#4 2016-02-19 10:03:25

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 638

Adminstration Serveur
Sécurité
Scraping
Développement Python
Site Web

Re : Scraping Linux: scraper un site et en récupérer les emails

Ay @durando,


╭─root ~  
╰─➤apt-get install pdfgrep -y
╭─root ~  
╰─➤pdfgrep PATTERN monpdf.pdf
 

Y a également la solution pdftotext:


╭─root ~  
╰─➤pdftotext monpdf.pdf
╭─root ~  
╰─➤ grep -Eo '(http|https)://[^/"]+' monpdf.txt
https://pdfgrep.org
https://gitlab.com
https://sourceforge.net
https://www.youtube.com
https://gitlab.com
https://pdfgrep.org) for details.
https://www.google.fr
 

En bonus, quelques patterns pour grep:


grep -Eoi '<a [^>]+>'
grep -Eo 'href="[^\"]+"'
grep -Eo '(http|https)://[^/"]+'
 

Dernière modification par KrustyHack (2016-02-19 10:09:37)


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#5 2016-02-19 10:28:22

Mention durando
Scout
Inscription : 2015-04-25
Messages : 325

Audit et Analyse
Html Css

Re : Scraping Linux: scraper un site et en récupérer les emails

Ouahou, ça c'est du service rapide. Merci. J'ai un gros fichier avec pas mal de liens dedans.
En lisant les commandes j'ai comme un doute... Tu me confirmes qu'il va bien aller à la recherche de l'url des liens, et non de bouts de texte qui contiennent http ou https ?
Je teste ce weekend et fais un retour.

Hors ligne

#6 2016-02-19 10:53:39

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 638

Adminstration Serveur
Sécurité
Scraping
Développement Python
Site Web

Re : Scraping Linux: scraper un site et en récupérer les emails

@durando Bonne question. Tu as un PDF sous la main pour que je paufine le bordel ?

Parce que effectivement je viens de checker le pdfgrep ne semble pas récup les liens en fait. Et le pdftotext + grep il récupère le texte, donc pas le <a> et compagnie.

Je creuse.

Ok j'ai trouvé un truc intéressant. J'ai enregistré ma page d'accueil en PDF, donc avec les liens et tout et j'arrive à les extraire depuis le binaire .pdf:


╭─root  ~  
╰─$ grep -ao "(https://.*[^\])" nicolashugcom.pdf
(https://www.nicolashug.com/seo/concours-seo-alsace-cricetus-de-fin)
(https://www.nicolashug.com/developpement/linux/tester-vitesse-dun-disque-dur-linux)
(https://www.nicolashug.com/developpement/linux/telecharger-videos-youtube-via-shell-linux)
(https://www.nicolashug.com/developpement/linux/scraper-un-site-sous-linux-et-en-extraire-les-emails)
(https://www.nicolashug.com/author/krustyhack)
...
 

Par contre j'ai pas encore réussi à mod la regex pour qu'il catch http ou https.

Dernière modification par KrustyHack (2016-02-19 11:31:54)


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#7 2016-02-20 09:10:10

Mention durando
Scout
Inscription : 2015-04-25
Messages : 325

Audit et Analyse
Html Css

Re : Scraping Linux: scraper un site et en récupérer les emails

Merci, ça fonctionne. Pour combiner http et https, on peut utiliser la méthode longue :

grep -ao "(https://.*[^\])" monpdf.pdf & grep -ao "(http://.*[^\])" monpdf.pdf

Ou la courte :

grep -ao "(http*[^\]://.*[^\])" monpdf.pdf

Pour ceux qui ne sont que sous Windows, il semble que pdftotext existe aussi sur cette plateforme, cf hxxp://www.foolabs.com/xpdf/download.html.

Dernière modification par durando (2016-02-20 09:16:30)

Hors ligne

#8 2016-02-20 12:37:58

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 638

Adminstration Serveur
Sécurité
Scraping
Développement Python
Site Web

Re : Scraping Linux: scraper un site et en récupérer les emails

Ay,

Super merci ! smile


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#9 2016-12-29 10:20:54

Mention KrustyHack
Soldier
Inscription : 2015-12-02
Messages : 638

Adminstration Serveur
Sécurité
Scraping
Développement Python
Site Web

Re : Scraping Linux: scraper un site et en récupérer les emails

Ay,

Petite mise à jour du script avec la prise en charge d'une liste de domaines : https://gist.github.com/KrustyHack/2f5898db0d2571959b48


Infrastructure, VPS, serveurs, ... J'ai forcément ce qu'il te faut, alors contacte-moi !

Hors ligne

#10 2016-12-29 11:07:31

Mention debutantseo
Scout
Inscription : 2015-03-29
Messages : 644

Netlinking
Rédaction
Comunity Management

Re : Scraping Linux: scraper un site et en récupérer les emails

merci@KrustyHack ton scripts va bien m'aider
je préfère travailler sur linux sous windows  j'utilise email collector et email hunter

Hors ligne

Pied de page des forums