Extraire les adresses email à partir d'un site web à l'aide de scripts
Doté d'un site web, je me demande quelle est la meilleure procédure, par programme et/ou à l'aide de scripts, pour extraire toutes les adresses de courriel qui sont présents sur chaque page de texte brut dans la forme [email protected] à partir de ce lien et tous les sites en dessous, de manière récursive ou jusqu'à une profondeur fixe.
pour être en mesure de vendre aux expéditeurs de courrier indésirable ou spam vous-même? 😛
espérons que cette aide; superuser.com/questions/518736/...
Si c'est votre (ou vos clients) site web, vous devriez avoir beaucoup plus de facilité pour obtenir les adresses de racler les pages web. Même si les données ont été perdues, vous pouvez filtrer les copies locales des pages comme indiqué par d'autres affiches. Mais si ce n'est pas votre site, à en extraire les e-mails semble très contraire à l'éthique, et certainement très mauvais pour votre karma. Vous avez été averti.
espérons que cette aide; superuser.com/questions/518736/...
Si c'est votre (ou vos clients) site web, vous devriez avoir beaucoup plus de facilité pour obtenir les adresses de racler les pages web. Même si les données ont été perdues, vous pouvez filtrer les copies locales des pages comme indiqué par d'autres affiches. Mais si ce n'est pas votre site, à en extraire les e-mails semble très contraire à l'éthique, et certainement très mauvais pour votre karma. Vous avez été averti.
OriginalL'auteur Open the way | 2012-12-13
Vous devez vous connecter pour publier un commentaire.
À l'aide de la programmation shell, vous pouvez atteindre votre objectif à l'aide de 2 programmes reliées ensemble:
Un exemple:
wget, en mode silencieux (-q), est l'obtention de toutes les pages de manière récursive (-r) avec une profondeur maximale de niveau 5 (-l 5) à partir de unsite.com.br et de tout imprimer sur la sortie standard (-O -).
grep est grâce à une longue expression régulière (-E) et ne montrant que (-o) adresse e-mail.
Tous les e-mails vont être imprimé sur la sortie standard, et vous pouvez les écrire dans un fichier en ajoutant
> somefile.txt
à la commande.Lire la
man
pages pour plus de documentation sur les wget et grep.Cet exemple a été testé avec GNU bash version 4.2.37(1)-release, GNU grep 2.12 et GNU Wget 1.13.4.
Grande réponse +1, mais juste pour être clair, l'expression régulière fournie ici n'est pas de l'attraper tous les e-mails.
OriginalL'auteur roq
De la première utilisation
wget
récursive de pages de téléchargement à partir de l'URL. Le-l
option est la recusion profondeur, mis à1
ci-dessous:Puis exécutez récursive
grep
pour extraire les adresses e-mail. (L'expression régulière ci-dessous n'est pas parfait et peut-être besoin d'être modifié si vous trouvez que pas toutes les adresses sont en train d'être ramassé.)En aparté,
wget
n'ont une option (-O -
) pour imprimer le contenu téléchargé sur la sortie standard au lieu de l'enregistrer sur le disque, mais, malheureusement, il ne fonctionne pas dans récursive (-r
) mode.où puis-je obtenir des informations à propos de chaque chose signifie dans votre modèle de recherche?
S'il vous plaît ajouter le contenu de votre fichier à la question, de sorte que nous pouvons voir pourquoi il ne fonctionne pas.
oui, le fichier contient une seule ligne; "[email protected] , [email protected]"
Pour voir les informations à propos de chaque chose, de lire à propos de Regex de recherche (voir lien). Un autre endroit est de regarder les pages man:
man grep
.OriginalL'auteur dogbane
J'aurais utilisé wget pour obtenir les pages de manière récursive, puis recherchez les adresses à l'aide d'expressions régulières (je l'aurais utilisé une script python pour ça, mais presque n'importe quel environnement peut fournir la même fonctionnalité).
OriginalL'auteur Ofir
Point 1). Les développeurs d'ajouter l'adresse e-mail en entité HTML (format de rish) En Entité HTML :
Point 2). E-mails sont écrits sur href="mailto:[email protected]".
Donc, nous pouvons prendre cela pour une expression Régulière.
OriginalL'auteur Rishabh