Categories: Python

Как вытянуть все емейл-адреса с sendpulse (код на python)

Собрал я приличную базу мейл-адресов на сайте sendpulse. И захотел я ее сохранить (на всякий случай, для будущих рассылок, да просто чтобы была). Но вручную копировать с сайта неудобно, а массовой выгрузки нет. У них есть api, и даже готовое решение на языке python 3, но там неполные примеры. В общем, накидал тут код, который выгружает ваши мейл-адреса с адресной книги.

Как выгрузить емейлы с адресной книги Sendpulse

Обновлено 31.03.2022: их библиотека рабочая, но мой код требует улучшения. Либо пробуем сами, либо платим деньги — поправлю.

Для начала Вам нужен api ID и api SECRET. Их можно взять у себя в настройках.
Регистрация в SendPulse.

Sendpulse REST API — как выгрузить эмейлы

Раз код на питоне, Вам нужно установить питон (у меня код для python3, если чуть поправить, то и на второй пойдет).
Установите модуль sendpulse (через pip install pysendpulse). Дальше код самой программы.

from pysendpulse.pysendpulse import PySendPulse

if __name__ == "__main__":
    REST_API_ID = '90bcb1c4d66666454441888c' #id
    REST_API_SECRET = 'e457ab24332424344333' #secret
    TOKEN_STORAGE = 'memcached'
    SPApiProxy = PySendPulse(REST_API_ID, REST_API_SECRET, TOKEN_STORAGE)

    # Get Mailing Lists list example
    allmails = [] #создаем список для будущих емейлов
    try:        
        i=0 #основной цикл
        k=0 #по сколько мейлов выбирать
        while i<=9:             
            allemaila = SPApiProxy.get_emails_from_addressbook('896075', limit=0, offset=k) #896075 - айди адресной книги            
            i+=1 #плюс еще одна страница
            k+=99 #еще 99 мейлов
            for onemail in allemaila:
                allmails.append(onemail['email']) #добавляем мейл в список
    except Exception as err:
        print(err) #если ошибка - вывести ее.
    allmails = set(allmails) #сортируем список с мейлами, оставив только уникальные
    with open(r'C:\Users\bdseo\Desktop\mails_30052018.txt', 'a') as mm:
        for mailp in allmails:
            mm.write(mailp + '\n') #сохраняем построчно эмейлы в файл mails_30052018.txt

Немного пояснений (в коде самой программы есть комментарии). Вначале прописываем свои ключи и подключаемся по апи к sendpulse. Потом идет цикл, чтобы получить мейлы. Дело в том, что sendpulse не отдает больше 100 мейлов за раз (ну или мне просто лень было искать). Поэтому мы отправляем несколько раз запросы, меняя страницы и количество offset.

В моем примере мы проходим 10 раз (10 страниц — while i<=9 при i = 0) по 100 адресов (база на 1000 эмейл-адресов).
Количество адресов прописано в offset, больше 100 задать нельзя. Точнее можно, но будут отображены только последние 100. Поэтому пишем меняющейся число k, которое при каждом обходе увеличивается на 99.

При каждом обходе значение «email» заносится в список, потом этот список сортируется (set(allmails)) и построчно записывается в файл.

Если кому нужно стащить мейлы со своих адресных книг в sendpulse, и не охота делать все выше перечисленное — пишите мне, предлагайте цену и я вам с удовольствием помогу. Обещаю, что мейлы себе не оставлю

veniamin

View Comments

  • добрый день,
    у меня выводит ошибку

    string indices must be integers

    как это исправить?

    • Пробовать самому или нанять кого-то.
      Спросить на тематических форумах.
      Я сейчас занят

    • Ничего вроде не получал, если что пишите ;)

  • Привет, Вебмастер, есть задача, как с вами связаться?

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

7 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

7 месяцев ago

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

3 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

3 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

3 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago