Результаты конкурса МИНОА «Сделай это лучше»: извлечение e-mail адресов из текстовых документов, и задание раунда IV

9 июня 2017 закончился приём ответов на задание III конкурса «Сделай это лучше», главным призом которого мы назначили полный учебный курс Методики изыскания, накопления, обработки и анализа информации (8,5 часов видеолекций + онлайн-консультация), и команда МИНОА готова подвести итоги.

Напомним, третье конкурсное задание стало таким: «Как быстро извлечь все адреса электронной почты из архива переписки или множества документов? Предложите свой вариант и продемонстрируйте его работу на скриншоте».

Забавно отметить, что наши читатели и подписчики не нарушают традицию и снова большей частью разделились на две активные группы, а точнее сказать группы IT-пользователей «с активной жизненной позицией».

Представители первой группы всегда осуждают саму постановку вопроса. На этот раз конкурсанты не сомневаются в практической пользе поставленной задачи, как было с предыдущим конкурсом об удалении всех html-тегов во множестве документов, а сокрушаются, что возможность «вынимать» адреса электронной почты из документов может понадобиться только злостным рекламщикам!

Спешим засвидетельствовать, товарищи, что МИНОА рекомендует рассматриваемый функционал не для спамерских атак, а для создания клиентских и партнёрских баз данных в рамках любой деловой активности. О самих базах данных клиентов и партнёров, которых (баз, не партнёров) сейчас множество превосходного качества, мы надеемся ещё поговорить на страницах сайта МИНОА, а в том числе, — почему бы и нет, — в рамках продолжения конкурсной программы «Сделай это лучше».

Второй контингент наших любимых читателей, как легко догадаться, — профессионалы в сфере IT или страстные любители компьютерных технологий, которые… пишут нам свои скрипты на каждый конкурсный случай! Друзья! Мы даже не знаем, как вас правильно поощрить… Ведь нашей основной задачей «по жизни» МИНОА является донести простые способы решения вопросов, проблем и трудностей в работе с текстовой (в первую очередь) информацией до самой широкой аудитории! Важнейшей частью такой задачи является обучение технически неподготовленной публики самостоятельно искать и находить варианты решения в больших информационных потоках. Люди, на которых рассчитана методика, даже если в состоянии применить скрипты, не будут сами писать их, но ведь и ваши скрипты найти они, к сожалению, не смогут.

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

Итак, засучив рукава, снова берёмся за дело.

Начнём с того, что сегодня добрые предприимчивые люди предлагают огромный выбор специализированного софта, который действительно предполагает создание почтовых рассылок, поднимая его на профессиональный уровень. Здесь вам и сбор адресов из интернета (стоит, кстати, изучить механизмы работы, чтобы не «дарить» кому ни попадя свои данные), и извлечение e-mail сразу из всех документов на жёстком диске (как потом обрабатывать такие массивы?), и сортировка имеющихся почтовых отправлений по множеству фильтров, и автоматизация подписок, и, наконец, создание рассылок.

Таков, например, мощный комплекс программ ePochta Studio. В принципе, если вам действительно нужен профессиональный набор инструментов, то софта этого российского производителя достаточно. Ребята хорошо себя зарекомендовали, программы выглядит вполне «ухоженными», регулярно улучшаются и обновляются, оправдывая свою не очень дружественную цену, активно работает тех. поддержка. О других инструментах почтовых рассылок мы говорить не будем, в задачи конкурса, как мы уже говорили, это не входило.

Что касается собственно извлечения адресов, то в комплексе ePochta Studio за эту часть отвечает ePochta Harvester. Стоимость программы без малого 40$. Немного смущает, что в эту цену включена возможность извлечения адресов из doc, docx, pdf и некоторых других файлов, а вот для форматов почтовых программ, табличных данных csv и архивов (zip, rar и др.) предлагается приобретать дополнительные плагины (от 12$ каждый!) Выглядит жадновато. Впрочем, скажем откровенно, большинство других разработчиков вовсе не предлагают столь широкий функционал.

Протестировав с десяток наиболее популярных и рекомендуемых приложений, «заточенных» непосредственно под извлечение почтовых адресов из локальных файлов, мы решили показать вам, помимо многофункционального ePochta Harvester, и самые незатейливые из них, выбрав по одному такому для Windows и mac OS.

Для Windows невозможно пройти мимо раскрученной программы Email Extractor (Lux) (будьте внимательны и избирательны, в сети бесконечное число вариаций со схожим названием). Как справедливо отмечают разработчики, она не только проста и понятна в использовании, но отличается лаконичным и современным интерфейсом – обстоятельство, важное для чувствительных к дизайну пользователей, вынужденных мириться с кошмарами специализированных узкопрофильных программ, которые в большинстве своём так и не вышли в визуальном отношении из колыбели 1990-х.

Программа так же стоит около 40$ и, помимо удобства в использовании, предлагает достаточно большой набор форматов для работы. Она «видит» любые текстовые файлы, html, форматы почтовых программ, файлы таблиц csv. Отметим, что чище всего она работает с текстовыми и табличными файлами, а в pdf и eml допускает ошибки.

Пожалуй, лидер по «модности» интерфейса — снова российская программа и, кстати сказать, снова один из лидеров по многофункциональности EmEx 3 (Advanced Email Extractor 3) компании EMMA Labs. Софт предназначен, как заявляют разработчики, «для автоматического сбора информации любого типа из сети Интернет», то есть на практике: как для извлечения адресов электронной почты, номеров телефонов, ICQ и интернет-линков с веб-страниц и — вот наш случай — локально из текстовых файлов, так и для поиска файлов в файлохранилищах, контента в различных интернет-базах, на форумах, в блогах, социальных сетях. Поиск контента проводится по ключевым словам с использованием сложных логических выражений, шаблонов и настраиваемых фильтров.

EmEx 3 обладает весьма внушительным списком возможностей и ей можно пользоваться бесплатно с урезанным функционалом, который «всего лишь» не позволяет сохранять результаты вашего анализа. Доступ к полноценной версии приобретается за 3000 Р на год или 7000 Р пожизненно.

Для mac OS вариантов, как водится, сильно меньше. Один из них — софт интересной и плодовитой компании Tension Software Generic под названием URL Extractor 4 — объединяет в себе лучшие качества для наших целей: он прост в установке и настройке, до примитивности лёгок в использовании и при этом достаточно функционален.

URL Extractor 4, как и большинство аналогов, собирает адреса электронной почты и линки из web, что мы договорились оставлять за рамками конкурса и статьи, а локально работает с любыми текстовыми файлами, html, pdf, csv и почтовым форматом. К сожалению пользователей, программа также не из дешёвых, за неё придётся отдать 3790 Р в AppStore.

Отметим и ещё одну нашу избранницу. Весьма солидно по форматам для работы (от текстовых файлов до презентаций, мессенджеров и файловых архивов!) смотрится предназначенная как под Windows, так и — отдельная версия — под mac OS программа Email Extractor 7 немецкой компании LmhSoft. Интерфейс прост так, что дальше некуда, а по возможностям программа идеально подходит для наших целей. И уже традиционно одна не очень позитивная деталь: Email Extractor for Mac OS X или Email Extractor for Windows каждая стоит почти 70 евро.

Конечно, в свете вышеописанного просто необходимо рекомендовать полностью бесплатные программы для наших целей. Однако таких не то что гораздо меньше, а фактически нет… Те бесплатные, что гордо носят free как довесок к названию, нам даже не удалось корректно установить для тестирования. Разработчики предлагают много условно-бесплатных вариантов, которые ограничивают пользователя в количестве обработанных файлов, собранных адресов, по времени или же, как в случае с EmEx 3, лишают возможности сохранять результаты. Сдаётся нам, что пора читателям и почитателям МИНОА, которые участвовали в конкурсе со своими скриптами, взяться за исправление этой вселенской несправедливости, ведь у пользователя всегда должен быть выбор.

Что же касается «самодельных» вариантов от профи, то сразу несколько участников предложили очень интересный способ с применением командной строки. Достаточно запустить команду с регулярным выражением, как адреса окажутся собраны в указанном текстовом файле, а затем результаты останется отсортировать и проверить на уникальность. В некоторых случаях это осуществляется в два, а в некоторых — даже в один шаг.

Приведём подробно один такой путь. Наш читатель Сергей Кошель пишет:

«Самый простой вариант извлечь адреса электронной почты из набора документов — это собрать эти документы в одной директории (e-mail переписку можно экспортировать в EML файлы) и применить команду:

grep -Eiorh ‘([[:alnum:]_.-]+@[[:alnum:]_.-]+?\.[[:alpha:].]{2,6})’ “$@” * | sort | uniq > emails.txt

Результаты будут в файле emails.txt. Уникальные и отсортированные.

Работает и на Windows (нужен Bash on Windows), и на Linux, и на любимой Сергеем OS X.

Команду можно сохранить в виде исполняемого файла .bash и запускать его».

Мы рады поощрить активных IT-творцов, предложивших такой вариант, 25-процентной скидкой на курс МИНОА и любые видеокурсы Школы биржевого трейдинга и инвестирования vCollege (нам известно, что есть такой интерес).

Призёрами были выбраны Сергей Кошель (uni***) и Владимир Новиков (vno***). Скидку эти участники смогут использовать бессрочно и не только для себя, но и, что может быть не менее актуально, для друзей.

Большинство готовых решений совпало у МИНОА с Владимиром Хорольским (itn***), предложившим и целый список других вариантов для тестирования! Мы с удовольствием объявляем Владимира победителем третьего раунда!

Поскольку Владимир уже стал обладателем курса МИНОА, заняв второе место в предыдущем конкурсе и получив 50-процентую скидку, мы предложим ему любой из видеокурсов vCollege на его вкус.

Также мы хотели бы особо отметить нашего читателя Николая (kol***), предложившего не только вариант с использованием командной строки, но и одну из перечисленных выше программ как альтернативу собственному методу.

Присуждаем Николаю второе место в третьем раунде. Поскольку Николай давно интересуется тематикой vCollege, мы, вопреки изначальным условиям конкурса, дарим ему скидку 50% на любой наш видеокурс (vCollege или МИНОА) на его выбор. Вне зависимости от желания и возможности использовать данную скидку, мы порадуем Николая индивидуальной консультацией Сергея Голубицкого.


Задание IV конкурса МИНОА «Сделай это лучше» — сюрприз, сюрприз! — «Предложите максимально простой и быстрый способ отписки сразу от множества почтовых рассылок. Для примера возьмём сервисы gmail и mail»

Ждём ваших ответов в любой свободной форме до 23 июня 2017 по адресу: entertainment@minoa.biz Внимание: при большом количестве совпадающих ответов в конкурсе будет принимать участие первый из них!

Ещё раз спасибо всем за участие, нам очень интересно вас читать!

Удачи вам и хорошего настроения!