Статья tweetlord: Элегантный дампер страничек Твиттера, жонглирующий авторизациями

[+ бонус в конце поста]
Приветствую случайных гостей и постояльцев форума!

Не так давно по долгу службы, потребовалось сдампить в оффлайн Твиттер-профиль одного пользователя. Признаться честно, с твиттеровским АПИ прежде не сталкивался, а вникать не очень хотелось ради написания одного скрипта (да и аккаунта у меня нет), поэтому побрел на поиски решения в сеть. Сказать, что существует целая куча готовых инструментов для подобных задач — значит не сказать ничего. За 10 минут была открыта целая галактика Твиттер-загрузчиков всех цветов и расцветок: от небольших самопальных Python-скриптов с довольно скудным функционалом, грубо выводящих результат прямо в консоль (романтично, но неудобно), до больших платных веб-сервисов, красиво заворачивающих результат в Excel-таблички. Однако на просторах Гитхаба (привет, Микрософт!) была найдена очень милая тулза, которой не смог не поделиться с Миром, к тому же, как выяснилось я уже сталкивался с этим разрабом. Тесен мир.

Утилита носит название tweetlord (довольно пафосно) и умеет дампить 5 категорий профиля Твиттера:
  1. общая сводка о профиле пользователя;
  2. друзья (aka подписки);
  3. фолловеры (aka подписчики);
  4. понравившиеся твиты;
  5. лента пользователя.
В результате генерится красивый Excel-док (бесплатно, Боже, храни оперсорс!), содержащий те разделы, которые мы попросили загрузить. Но самой интересной фишкой, на мой взгляд, является возможность смены авторизаций "на ходу": в файле настроек автор разрешает указать несколько кредов от dev-аккаунтов Твиттера (их для начала нужно , разумеется, и, кстати, этот процесс с июля этого года, к сожалению), что позволяет сократить время ожидания на дамп страничек. Кончено, "нельзя обойти ограничения системы, не выходя за рамки самой системы", и к это относится самым прямым образом, но немного облегчить их тяжкий гнёт можно попробовать ;) (да-да, все-таки пришлось покапаться в апишных доках).

Отнял (шантажом и запугиванием) у друга авторизационные данные для того, чтобы продемонстрировать скрипт в действии.

1. Подготовимся к работе:
Bash:
$ git clone https://github.com/snovvcrash/tweetlord && cd tweetlord
$ virtualenv -p python3 tw
$ source tw/bin/activate
(tw) $ pip install -r requirements.txt
(tw) $ chmod +x tweetlord.py

2. И сохраним всеми любимых Positive Technologies (можно указать как непосредственно число выгружаемых сущностей для каждой категории, так и просто -1, что будет значит "забрать из категории все, что есть"):

1.png


K P A C U B O, мне нрав =)

[БОНУС] И, о-о-о просто прелесть — жук скарабей из Амитивилля еще один интересный репозиторий на там том же Гитхаб-аккануте: парсер "Моего Мира@Mail.ru" (также на питоне). Может сложиться впечатление, что я рекламирую чувака, но нет, просто так складывается :LOL:. Просто никогда не видел реализаций подобных парсеров в открытом доступе, и всегда было интересно, как они устроены. И хотя в этом случае это скорее демо-версия (не очень широкий функционал), рекомендую к изучению тем, кто хотел бы познакомиться с Селениумом (мощный движок для эмуляции действий веб-браузеров).

Скриншот из репозитория:

2.png


Спасибо за внимание :3

Links
 

qwertyytrewq

New member
13.02.2018
4
0
BIT
0
Красиво.
На самом деле инструмент просто огонь. Удобен для контрразведки. Единственное, что интересно: не собирает ли твиттер стату по апи. Теперь кучу людей будут сидеть и за девушкой следить XD, кому лайк поставила, кому ответила.

Может сложиться впечатление, что я рекламирую чувака, но нет, просто так складывается
Не вижу ничего плохого. У этого же парня/девушки есть прекрасная программа USB RIP. Очень удобная и полезная ИМХО.
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!