Pull to refresh

Скачиваем историю сообщений из GTalk'a себе на компьютер

Reading time3 min
Views4K
GTalk
Давно пользуюсь gmail'овским джаббером для общения. Подключил транспорт и пользовался, радуясь жизни. Спустя пол года Чингачгук заметил, что одной стены в его камере нет я заметил, что пользоваться историей жутко неудобно и решил скачать всю историю сообщений для оффлайнового пользования.

Рассмотрим варианты


Google Gears


Первый вариант, который предлагает сам гугл, использовать Google Gears. Но для того, чтобы просматривать историю, все равно нужно заходить в браузер, а это более чем неудобно (по крайней мере для меня), мне намного приятнее хранить историю в текстовом виде.
Также, небезопасно хранить историю сообщений в онлайне. Пусть она хранится на сервере гугла, пусть на серверах AOL все логируется, но я не хочу, чтобы она была доступна из моей учетной записи gmail'a. По крайней мере долгосрочно — пусть хранится история недельной давности. Не более.

Хранить в нативном виде у себя на компьютере


Стандартными методами это никак не возможно. История не скачивается с POP3, IMAP, отсутствует она и в клиенте GTalk. Никакой кнопки «Скачать историю» даже близко и нету.
Что-ж. Не хотите по-хорошему, будем по-плохому.

Танцы с бубном


Сохраняем странички с историей себе на компьютер.


Подготовка

В «чатах» у меня около двух тысяч логов. Нужно открыть каждый и сохранить.
Делать это вручную, естественно, мы не будем. Для этого устанавливаем дополнение iMacros для Firefox'a.
Что же нам нужно сохранять? Желательно, только сам лог — без всяких логотипов, кнопок и вкладок. Идеально — «версия для печати» в gmail'e есть!

Записываем макрос

Для начала, создайте новую метку, например, «chats». Перейдите в «Чаты» и пометьте ВСЕ логи этой меткой. Для чего? А скоро увидите.
Переходим в Режим просмотра Gmail: упрощенный (внизу страницы)
Что мы видим? Вкладки «Чаты» нет! Но мы хитрые — выбираем метку «chats» и видим все чаты.
Открываем iMacros и уменьшаем немного масштаб страницы, чтобы вся панель с кнопками «Снять ярлык», «Сообщить о спаме», цифрами о количестве сообщений была БЕЗ переводов строки.
Начинаем запись макроса.
Первым делом меняем режим клика — на позиционный — X/Y. Кликаем на первом сообщении — по метке «chats» рядом с темой. Когда откроется, меняем режим клика на Авто, кликаем правой кнопкой по «Печать» и выбираем «Сохранить объект как...» и сохраняем в любую папку. Далее снова меняем режим клика на X/Y и нажимаем на кнопку «Снять ярлык chats». Завершаем запись.
Теперь заходим в Редактирование.
Уберите третью строку (URL GOTO=...) и у вас получится что-то вроде этого:

VERSION BUILD=6251204 RECORDER=FX
TAB T=1
URL GOTO=http://mail.google.com/mail/h...
CLICK X=442 Y=177
ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES
TAG POS=2 TYPE=A ATTR=TXT:Печать CONTENT=EVENT:SAVETARGETAS
CLICK X=268 Y=151


Сохраните макрос под каким-то именем.

Запуск

Всё будет сохраняться в ту папку, которая указана в опциях iMacros'a (Папка закачек). Поставьте метку «chats» на те сообщения, у которых она была снята в результате эксперементов, зайдите в Папку закачек и удалите всё её содержимое.
Запускайте макрос по сотне раз с перерывом в 10 минут во избежание блокировки аккаунта. Во время операции меня 3 раза заблокировали на один час :)

Преобразовываем в текстовый файл


И так… все файлы с историей у нас на компьютере. Но все они с кучей html-тегов.
Решением проблемы есть утилита html2text — она есть почти во всех репозиториях linux, в сети видел и под windows.
$cd Папка_закачек_iMacros
$html2text * > ~/all.txt
После этой комманды вся история сохранится в текстовый файл all.txt в домашней папке в довольно-таки удобном виде.

Поздравляю! Мы сделали это! Теперь можно с чистой совестью удалить историю с gmail'a.
Спасибо за внимание.

Пользуясь случаем, выражаю благодарность levsha100 за инвайт ;)
Tags:
Hubs:
Total votes 46: ↑33 and ↓13+20
Comments51

Articles