Импорт контактов
Вы можете перенести ваши контакты из почтовой программы в адресную книгу на Mail.ru, если у вас есть список контактов в формате CSV или vCard. Получить список контактов можно двумя способами: выгрузить из почтовой программы или сервиса или создать CSV-файл вручную.
Выгрузить контакты из почтовой программы или сервиса
Почта Mail.ru Перейдите в адресную книгу → нажмите → «Экспорт контактов». Подробнее Gmail Перейдите Google Контакты → «Экспортировать» Яндекс.Почта Перейдите в настройки → «Контакты» → «Сохранить контакты в файл». Microsoft Outlook Перейдите «Файл» → «Экспорт/Импорт» → «Экспорт в файл» → «Значения, разделенные запятыми» The Bat! Перейдите «Инструменты» → «Адресная Книга» → «Файл» → «Экспорт в» → «Разделены запятыми (текст)» Mozilla Thunderbird Перейдите «Инструменты» → «Адресная книга» → «Инструменты» → «Экспорт» → «С запятой в качестве разделителя»
Создать CSV-файл вручную
- Обращение
- Имя
- Отчество
- Фамилия
- Организация
- Улица (дом. адрес)
- Основной телефон
- Web-страница
- Адрес эл. почты
- Адрес 2 эл. почты
- Адрес 3 эл. почты
- День рождения
- Заметки
Обязательно только поле «Адрес эл. почты», остальные вы можете оставить пустыми. Ваша таблица должна выглядеть примерно так:
Импортировать контакты в адресную Mail.ru
Когда у вас будет CSV-файл с контактами, импортируйте его в адресную книгу Mail.ru.
- Откройте адресную книгу — нажмите под списком папок.
- Нажмите рядом с кнопкой «Добавить контакт».
- Выберите «Импорт контактов».
- Нажмите «Загрузить файл» и выберите файл на компьютере.
- Задайте имя для группы, в которую добавятся контакты.
Как создать подходящий для импорта CSV-файл?
а. CSV-файл обязательно должен быть в кодировке UTF-8, иначе он не будет импортирован.
б. В качестве разделителя между значениями обязательно должна быть запятая «,»:
В противном случае значения в строке будут «слипшимися», то есть вы не сможете распределить их по нужным полям:
в. При импорте поддерживаются данные как для стандартных полей (полное имя, компания, должность, email-адрес, телефон, заметки), так и для кастомных, но их предварительно нужно создать в разделе «Поля данных» аккаунта администратора. Подробнее о создании дополнительных полей читайте в статье.
г. Если вы импортируете данные пользователей из соцсетей или мессенджеров, название канала и id пользователя нужно указывать в одной колонке — через вертикальную черту (канал|id). Формат чувствителен к регистру — в названии канала не должно быть заглавных букв. Если данные указаны верно, поля соотносятся автоматически. Пример файла для импорта пользователей из соцсетей и мессенджеров можете найти здесь.
Самый простой способ создания подходящего CSV-файла
Когда вы экспортируете данные из сторонних сервисов, например, CRM-системы или админки сайта, то можете получить файл, который не подойдёт для импорта в Омнидеск, так как в нём используется иная кодировка или другой разделитель. Поэтому перед импортом файла его необходимого изменить.
Проще всего изменить файл с помощью Google Таблиц. Создайте файл с данными в Google Таблицах или импортируйте имеющийся CSV или XLS-файл:
После выбора файла для импорта у вас появится окно для выбора разделителя в вашем файле.
Чаще всего подходит вариант «Определять автоматически», но если в файле используются разные символы, например, разделителем является точка с запятой, но в некоторых ячейках записаны несколько вариантов через запятую, то лучше указать разделитель вручную (в поле «Тип разделителя» выберите нужный вариант), чтобы файл импортировался корректно.
Далее скачайте файл в формате CSV:
Полученный файл импортируйте в Омнидеск (Аккаунт администратора — раздел «Настройки» — подраздел «Импорт данных»).
Подготовка данных из почтовых сервисов и клиентов
Все почтовые сервисы и клиенты позволяют экспортировать контакты, чтобы перенести их в другие приложения. Далее мы продемонстрируем, как это сделать в Gmail и Яндекс. Почте.
Полученный файл также необходимо пересохранить, используя Google Таблицы, чтобы получить подходящий формат.
Кроме того, почтовые клиенты разделяют фамилию, имя и отчество пользователей по разным столбцам, а для импорта в Омнидеск ФИО должно быть в одном поле.
Для объединения ячеек используйте функцию «Сцепить», а для удаления лишних пробелов — «Сжать пробелы»:
Примеры экспорта контактов
1. Gmail
Откройте «Google Контакты», кликните по разделу «Ещё» — в раскрывшемся списке выберите «Экспортировать»:
В открывшемся модальном окне выберите пункт «Outlook CSV».
2. Яндекс Почта
Находясь в почтовом ящике, перейдите в раздел «Контакты»:
Далее выберите раздел «Ещё» — «Сохранить контакты в файл»:
В открывшемся модальном окне выберите «Сохранить».
Яндекс позволяет сохранять контакты только в формате vCard (.vcf). Омнидеск не поддерживает импорт .vcf-файлов, поэтому нужно конвертировать vcf в csv, например, тут.
В качестве разделителя при конвертации выбирайте запятую.
Загрузка данных CRM (e-mail адресов) в Яндекс.Аудитории
В предыдущей статье я показывал способ, как с помощью макроса можно быстро загрузить данные CRM (телефоны) в Яндекс.Аудитории за 1,5 минуты. В этом материале разберем создание сегмента e-mail адресов.
Здесь все также проще – вы загружаете в макрос данные из .txt файла, а далее он все сделает за вас.
- удаляет дубли;
- удаляет все лишние символы, включая текст и специальные символы (%, $, -, !, ?, #, >, и т.д.);
- если в одной строчке написано несколько e-mail адресов, то он автоматически отделяет их и переносит в один столбец;
- адреса, которые отличаются от стандарта (в которых нет @ и .), помечаются красным цветом, чтобы их можно было легко удалить;
- позволяет выделить адреса, которые содержат определенную конструкцию (подсвечивается желтым цветом). Например, если кто-то оставлял тестовые заявки с адресом @test.ru.
- удаляет данные загруженного файла (кнопка Очистить).
Макрос не умеет проверять валидацию e-mail адресов. Для этого воспользуйтесь одним из сервисов валидации. Собственные списки можно загружать не только в Яндекс.Аудитории, но и в Google Ads (не всем, читайте этот материал) и в инструменты таргетированной рекламы (Facebook, myTarget, ВКонтакте).
Макрос не нужно настраивать. Все, что необходимо сделать:
- разрешить редактирование;
- перед началом работы включить содержимое макроса.
Пример загрузки базы e-mail адресов в 2500 контактов в Яндекс.Аудитории:
Скачать: FormatEmails
Парсинг контактов адресной книги Яндекс.почты в CSV на Python
Как-то в процессе работы возник вопрос как на корпоративном домене в Яндексе выгрузить все контакты организации из адресной книги Яндекс.почты в файл .csv или .xls, чтобы было красиво и потом удобно работать с этими данными в MS Excel.
Оказывается, что стандартными средствами Яндекс.почты можно выгрузить только в Vcard формат, что мне совсем не подходит. Нужно потом его как-то конвертировать сторонними средствами. Такие попадались на просторах интернета, что совсем неудобно.
На помощь пришел Python.
C помощью библиотеки BeautifulSoup очень удобно и быстро парсить html и вынимать всю нужную нам информацию.
Для парсинга нам понадобится Python 3, библиотека BeautifulSoup и браузер с инспектором кода.
Для начала импортируем необходимые для работы библиотеки.
from bs4 import BeautifulSoup as BS import re import csv
В результате анализа кода страницы выявлено, что данные которые нам нужны спрятаны в тегах span с классами:
mail-AbookEntry-Contact — содержит имя контакта
mail-AbookEntry-Emails — содержит список Email-ов
Сохраняем нашу веб страницу на диск в папку со скриптом, я назвал ее просто “contacts.html”. Если в адресной книге много контактов, то перед сохранением не забываем нажать “Показать все контакты” в конце страницы.
Открываем сохраненную страницу и получаем весь код внутри тегов span, сохраняя их в три списка:
with open('contacts.html', 'r', encoding='utf-8') as f: html_str = f.read() res = BS(html_str, features="lxml") #список с именами l_contacts = res.findAll('span', class_='mail-AbookEntry-Contact') #список с Emailами l_emails = res.findAll('span', class_='mail-AbookEntry-Emails') #список с телефонами l_phones = res.findAll('span', class_='mail-AbookEntry-Phones') #Объединяем в один большой список с которым и будем дальше работать l_res = list(zip(l_contacts, l_emails, l_phones))
Каждый элемент списка l_res это список с кусочками кода с нашей страницы, соответствующий строке с контактом.
Пробегаем циклом по нашему списку l_res:
for i in l_res: l_row_contact=[] #список, в который будут записываться данные о контакте (имя, емейлы, телефон) для записи в файл .csv
Так как i элемент это тоже список, содержащий группы, показанные выше на рисунке, то проходим по всем элементам этого списка.
for j in i:
Может быть такое, что у контакта несколько Email-ов. В коде они хранятся в списке ul с классом _nb-popup-menu, а каждый email обернут в теги li и a.
#Если существует список дополнительных емейлов у контакта, то извлекаем емейлы и сохраняем в список l_a if j.find('ul', class_='_nb-popup-menu') is not None:
Для начала находим и получаем содержимое тегов li:
l_li = j.findAll('li', class_='_nb-popup-line') l_a=[]
Пробегаем по каждому полученному li и извлекаем текст Email, обернутый в тег a с классом _nb-popup-link
for k in l_li: if k.find('a', class_='_nb-popup-link') is not None: l_a.append(k.find('a', class_='_nb-popup-link').text)
Добавляем к результирующему списку с данными о контакте строку с разделителями \r\n, чтобы в ячейке был перенос, если несколько email-ов.
l_row_contact.append('\r\n'.join(l_a)) #если доп списка нет, то просто извлекаем все данные по контакту elif j.find('span', class_='mail-ui-Overflower') is not None: l_row_contact.append(j.find('span', class_='mail-ui-Overflower').text)
В результате одного прохода мы получаем список со строками следующего формата:
[ ‘Имя контакта’, ‘Email_1\r\nEmail_2…Email_k’, ‘Телефон’ ]
#записываем строку с данными контакта в файл csv with open('contacts.csv','a') as f: file_writer = csv.writer(f, delimiter = ";", lineterminator="\r") file_writer.writerow(['Имя', 'Emails', 'Телефон']) file_writer.writerow(l_row_contact)
Я использую разделитель ‘;’ только, чтобы при открытии было красиво в Excel.
И так проходим по всему списку, дописывая в файл CSV строки с данными о контактах.
Если использовать разделитель ‘,’ и убрать дополнительные Email-ы в получившемся файле, то можно импортировать всё в Outlook.
Код проекта вы можете посмотреть и скачать на GitHub.