- PVSM.RU - https://www.pvsm.ru -

Собираем новости в один список

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

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

RSS-каналы дают фиксированное количество новостей, значит нельзя загрузить новости за определенный период, но если источник дублирует их в Twitter, то можно.

Как вы уже догадались — поставленную задачу решает программа, меньше слов — репозиторий [1] на Github.

Как работает программа

Твиты загружаются через официальное API, поэтому необходимо создать [2] приложение, а отправка писем осуществляется через сервис Mailgun (он даёт 10 000 бесплатных писем каждый месяц), там тоже зарегистрируйтесь [3].

Тело письма генерирует библиотека quik, поэтому шаблон можно изменить как угодно, смотрите файл template.html.

Для удобства аккаунты твиттера разделены на категории, например, @habrahabr_feed и @3d_news будут в группе «Информационные технологии». Вложенных категорий нет, если сделаете — приму Pull Request.

Установка и настройка программы

Зависимости:

pip install requests
pip install TwitterAPI
pip install quik

Исходный код:

cd ~
git clone https://github.com/eg0r/twitter_to_email

В файле settings.py замените настройки своими, секции прокомментированы.
Осталось только настроить crontab, когда скрипт будет запускаться.

Например, для себя я настроил выполнение каждый день в 20:00 по МСК:

0 20 * * * cd ~/twitter_to_email && python3 aggregator.py

Результат

image
Gmail: письмо целиком, ссылки в конце с троеточием ведут на страницу твита

А как вы справляетесь с большим количеством информации?


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/82779

Ссылки в тексте:

[1] репозиторий: https://github.com/eg0r/twitter_to_email

[2] создать: https://apps.twitter.com

[3] зарегистрируйтесь: https://www.mailgun.com