Как собирать почтовые адреса с помощью Python

Привет всем!

Буквально пару дней назад, в очередной раз разгребая папку входящих я задумался — а так ли уж эффективен этот самый спам? Не ожидая какого-то очевидного ответа поделился мыслью на своей странице в Facebook и получил комментарии, которые подтвердили: спам жил, жив, и будет жить!

А раз так — то давайте задумаемся: как собирать почтовые адреса с помощью Python? Понятное дело, я не агитирую всех резко начать спамить (мы все законопослушные граждане), но разобраться с проблемой — это решить ее на 90%. Так давайте разбираться вместе.

Сразу скажу, что никто не отметает использование программ в стиле EMEX3 — ручного монстра юных (и не очень) спамеров — с многолетней репутацией, массой возможностей (обход капчи, списки сканируемых ресурсов, использование поисковых запросов, определение регионов сканирования, предварительная фильтрация) и все такое прочее.
emex3

Однако — она платная, и кроме того — вернемся к вопросу, озвученному выше: разобраться с проблемой, коих в настоящий момент целых две:
1. Сбор почтовых адресов
2. Рассылка почты

Проблема номер два имеет целый список подпроблем — от банального понимания того, что спам сейчас во многих странах относится к очень незаконному деянию, до сложности реализации рассылок без некоторых финансовых вложений на одноразовые сервера, написание собственного ПО или настройки коммерческого, поиск алгоритмов пробивания фильтров (которые начинают считать вашу рассылку спамом с чистого до этого момента сервера после двадцатого письма (а значит, вам нужно динамически менять текст)). Вообщем — все совсем не просто, и потому нужно либо входить в эту тему плотно, либо просто не начинать 🙂

Однако первая проблема — интересна и совсем не противоречит закону. Никто не запрещает вам пользоваться, например, каталогами предприятий, ведь правда? И уж совсем не запрещено сохранить каким-нибудь Teleport-ом весь этот самый каталог предприятий к себе в компьютер, что бы вы, в случае отсутствия Интернета могли найти нужный вам адрес.

А теперь нам остается только перебрать файлы, ибо Teleport сохраняет сайт со всеми данными (включая адреса электронной почты).

Логика перебора будет простой:
1. Определяем рабочую папку, где сложены исходные файлы
2. Открываем файл, с помощью регулярного выражения (спасибо Денис, за твою лекцию по этому вопросу, которую ты провел лично мне по Skype поздно ночью! Я не стал специалистом в этом вопросе, но хоть какую-то базу знаний приобрел 🙂 ) находим адреса электронной почты
3. Сохраняем полученные результаты в файл
4. Идем дальше

Черновой код программы доступен тут. Сейчас ночь, а учитывая, что бОльшую часть вечера я провел на родительском собрании в школе + дела домашние — окультуривать код откровенно лениво. Важно, что уже в таком безобразном виде он работает 🙂

Пояснения по коду — совсем скоро, следите за новостями 🙂 Ну и окультуренный код, в который я обязательно добавлю такие украшалки, как:
— подсчет общего количества файлов
— статистику — сколько файлов обработано, сколько осталось
— возможность выбора — удалять обработанные файлы, или нет
— фильтрация полученного списка файлов от дублирования и мусора
— и т.д.

Кстати, не так давно я размышлял на тему использования в почтовых рассылках тегов — кому интересно — добро пожаловать сюда 🙂

Есть вопросы? Задавайте их на почту. И не забывайте сделать репост статьи на свою страницу в социальной сети!

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut