Twitter Илона Маска в Telegram с переводом на русский
Хочу поделиться одной моей поделкой, возможно, кому-то она тоже будет полезна. В этой статье я поделюсь тем, что я сделал, чтобы читать Twitter-аккаунт Маска в удобном мне месте и имея под рукой перевод англоязычных твитов на русский.
Проблема
Последние несколько лет замечаю за собой, что хочу начать регулярно почитывать тот или иной блог, но если он не находится в зоне удобного или привычного доступа (к сожалению весь твиттер для меня таков, ничего не могу с собой поделать, не читатель я твиттера), то я довольно быстро забиваю на это. Еще хуже, если блог на другом языке, тут появляется дополнительная проблема, когда из-за технических терминов или разговорного жаргона сложно понять смысл. Собственно такие "преграды" обычно и приводят к тому, что вроде бы и хочется, но как-то не делается.
Идея
Сейчас я делаю на заказ программных роботов, которые в онлайне обрабатывают новостные потоки в соцсетях, фильтруют, выбирают наиболее интересные и цитируемые, и передают заказчику. Я подумал, почему бы мне не использовать свои навыки и не облегчить себе жизнь в описанной выше проблеме. Для этого нужно только каждые сколько-то минут заходить в твиттер, забирать новые сообщения, прогонять их через переводчик и отправлять в канал в телеграме. Кажется, ничего сложного.
Подводные камни
Первая проблема, с которой я столкнулся, это фрилансеры, у которых я пытался заказать кусок кода, который непосредственно выгружает новые посты из твиттера, все подряд отказывались от выполнения заказа. Прямо брали, а потом у одного компьютер сломался, у другого появились другие дела, третий в последний момент передумал.
Вторая проблема, отказ твиттера в выдаче доступа к API в описанных мной кейсах. То есть остается единственный вариант заниматься веб-скраппингом. Ну что ж.
Третья проблема, оказалось, что требуется довольно много ручной работы, чтобы преобразовать пост из твиттера в формат телеграма, и чтобы он прилично выглядел. В частности, картинки, предпросмотры ссылок, упоминания и тд.
Технологии
Я решил попробовать самостоятельно и начал гуглить что-то вроде "parsing twitter without API". Нашлось достаточно много решений, сразу скажу, что решение twint — библиотека с открытым исходным кодом, которая вполне работоспособна и подошла под мою задачу.
Для того, чтобы перевести текст с английского на русский, я сначала было собирался использовать google translate, но понимал, что в нем ограниченное количество бесплатных переводов, решил что попробую использовать единственную известную мне нейросеть для перевода с английского на русский fairseq от Facebook AI Research. Качество перевода показалось мне вполне приемлемым с точки зрения того, чтобы понять в чем суть твита, хотя оно и не было идеальным.
Все это я обернул в скрипт на языке программирования python и запустил на постоянную работу на своем сервере.
Как пользоваться
Выглядит сейчас это следующим образом. Каждый твит и ретвит на главной странице твиттера Илона Маска пропускается через переводчик, подбираются ссылки и картинки из поста, дальше все это сохраняется в пост в телеграм-канале. Выглядит это так
Итого у меня получился телеграм-канал под названием "Твиттер Илона Маска" (подписывайтесь, мне будет приятно, что это нужно кому-то еще 🤗, будет дополнительный стимул поддерживать в будущем), в котором можно
1) читать новые и старые посты Илона Маска
2) видеть перевод текста на русский язык
3) перейти по ссылке на исходный пост в твиттере
И все это без регистрации и смс:)
Если эта статья показалась вам интересной, поставьте, пожалуйста апвоут (так ее увидит больше людей) и подписывайтесь на мой блог в телеграме, там я ежедневно рассказываю о всех своих экспериментах. Если хотите решить похожую проблему для своего бизнеса — пишите в личку.
Мне, кстати, читатели твиттера Маска чем-то напоминают читателей пабликов Бизнес в VK.
Не камень в твой огород, если что
Интересно же, что он там пишет, что потом котировки компаний и криптовалют пробивают уровни)
Всё гораздо проще : подписываешься в твиттере на Илона Маска, ставишь отметку на получение уведомлений о его твитах. В этом случае тебе будут приходить об этом уведомления как ответы. Включаешь пуш, и эти уведомления будут всплывать на устройстве, даже если ты не запустил само приложение.
Да я согласен что можно проще, но не удобнее для меня лично. У меня это как с фейсбуком, я не являюсь постоянным пользователем, поэтому сделать там любое действие это ux-боль=))) то ли дело телега)
Согласен. ФБ ужасен
Ну тут складывается впечатление, что разные поколения в разных странах прошли свой путь совместного развития с ui/ux соцсети, в которой проводили много времени. я со школы и в инсте пользовался вк, после него в фб ничего не понятно. у кого-то уверен наоборот
Думаю тренд на социальные сети спадает
Не благодарите
спасибо, а как быть с тем, что твиттер в рф не очень популярен и ходить туда только за Маском не очень нативно получается?)
Маск везде говорит одно и тоже, что а твиттере, что на Ютуб
есть такое, только в твиттере он ещё как выложит что-нибудь эдакое, что фондовый рынок разрывает на части)
А как вы фиксируете уже выложенные публикации?
Я их разово прогнал, а дальше уже скрипт ждет новых. Или вы о чем-то другом?
Я о том, как скрипт отличает новые твиты от старых :)
он смотрит на ссылки последних постов в телеге и по id определяет максимальный. из твиттера рассматривает уже только те, у которых id больше максимального:)
Понял, благодарю =)
👌
А как скрипт ждёт новых? Скрапит Твиттер каждую минуту/час ?
Все верно скрапит с интервалом, других способов на данный момент насколько я знаю не существует
Подписался ))
👍
А с русского на узбекский так можно? Или совсем плохо переводит?
С помощью той технологии, которую я использовал не получится, там прям по пальца посчитать можно сколько языков доступны - немецкий, французский и итальянский кажется только
Естественно нужен телеграм премиум?
а что с проектом то?