Как сохранить контакты с яндекс почты в excel
Перейти к содержимому

Как сохранить контакты с яндекс почты в excel

  • автор:

Как сохранить контакты с яндекс почты в excel

Внимание, данный сервис стал доступен для всех! Мысленно пожелайте автору здоровья и творческих успехов! Сделано для удобства людей, а не для извлечения прибыли.

1. На Яндекс почте выбираем Контакты->Ещё->Сохранить контакты в файл. Во всплывающем окне выбираем «vCard», «Русский». Нажимаем кнопку «Сохранить».

2. Должен скачаться файл «abook.vcf».

3. Загружаем файл на сайт, нажимаем кнопку «Обзор» или «Browse» (На разных системах по-разному). Скачиваем на свой ПК сгенерированный файл.

4. Открываем программу корпоративной почты Microsoft Outlook 2016. Выбираем «Файл»->»Открыть и экспортировать»->»Импорт и экспорт»->»Импорт из другой программы или файла». Нажимаем кнопку «Далее».

5. Выбираем «Значения, разделенные запятыми (Windows)».

6. Выбираем файл для импорта (который только что скачали, вида «много цифр и букв.csv»), нажимаем на кнопку «Обзор», Далее «Local Disk (C. » и выбираем сам файл. Он скорее всего будет расположен в папке «Пользователи»->»User»->»Загрузки»->»829743191fe34c10cf5de8635.csv».

7. Выбираем папку назначения — «Контакты», нажимаем кнопку «Далее», потом «Готово».

8. Проверяем как импортировались контакты. Если не усраивает как они отображаются, то щелкаем 2 раза быстро левой кнопкой мыши по названию контакта (имя контакта на сеом фоне) и из выпадающего списка «Хранить как» выбираем желаемое отображение контакта.

Данный сервис преобразует Abook.csv экспортированный из Яндекс почты в CSV файл, где объедененны поля Имя, Фамилия, Отчество и оставлен только E-mail. Другие поля не переносятся.

Разработка ИП Дегтярёв Н.В., последее обновление в 20:54:58 03.05.2023 г.

Как сохранить контакты с яндекс почты в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как выгрузить е-маилы в ексель-файл массово в Яндекс почте?

Есть 100 сообщений, это лиды с е-маил, именем и номером телефона. Нужно составить из них базы и вывести в Ексель.

Как это сделать массово? Чтобы по одному письму не копировать.

  • Вопрос задан более трёх лет назад
  • 3075 просмотров

Комментировать
Решения вопроса 2

Taraflex

Ищу работу. Контакты в профиле.

Переслать все email в гугл почту и воспользоваться Google Apps Script
https://developers.google.com/apps-script/referenc.
+
https://developers.google.com/apps-script/referenc.
но потребуются минимальные навыки js разработчика.
Плюс данного подхода — можно будет автоматом пополнять табличку при поступлении новых писем.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

hint000

у админа три руки

Загрузить в любого почтового клиента, хранящего письма в mbox или умеющего экспортировать в формат mbox (насколько помню, все умеют). Mbox — простой текст, с ним можно вытворять что угодно, писать скрипты для выдёргивания любых данных. Это можно делать на любом языке программирования, на котором вы умеете.

Парсинг контактов адресной книги Яндекс.почты в 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 это список с кусочками кода с нашей страницы, соответствующий строке с контактом.

3 группы, которые содержит элемент-список результирующего списка 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *