Алексей Иванов (alexyv) wrote,
Алексей Иванов
alexyv

Category:

Блоги@Mail.ru: Клиент для сохранения блога – версия 1.0

Как я написал вчера, я закончил работу над первой версией программы для сохранения блога с умирающего проекта Блоги@Mail.ru.

Скачать! (1,5 МБ)

Обновлено: Клиент для сохранения блога – версия 2.0

Что сохранится

Чтобы избежать недопонимания: программа сохранит исключительно посты, только посты. Все ссылки на сохраненной странице ведут в интернет или вообще не работают.

Чем это грозит?

При просмотре сохраненных HTML-страниц…

  1. Исчезнет оформление блога, как только сервис Блоги@Mail.ru будет полностью закрыт.
  2. Ссылки навигации на предыдущий/следующий посты не работают.
  3. Свернутые ветки комментариев нельзя развернуть.
  4. И много чего еще может показываться не так, как было раньше…

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

Что делать?

Если Вы хотите полную копию вашего блога, используйте другую программу копирующую абсолютно всё, создающую полную локальную копию. Подобной программой является, например, HTTrack. Небольшое описание программы есть в блоге у vovik_ptz. Все вопросы по пользованию этой программой направляйте ее разработчикам.

Сообщения об ошибках

Когда у вас что-то не работает, пожалуйста, пишите, какая именно ошибка возникает. Вы видите ошибку, я не могу догадаться, что Вы видите.

Если появляется окно с сообщением ошибке, как показано на снимке экрана в разделе ошибки ниже, выделите весь текст мышью и нажмите Ctrl+C, чтобы скопировать текст. (Почти наверняка, будет достаточно даже первой строчки.) И вставьте этот текст, когда будете сообщать мне об ошибке. (Иначе я не смогу Вам помочь.)

Спасибо!

Установка

Сохраните файл downloadBlogMailru.jar в любую удобную папку.

Для запуска программы необходимо наличие JRE 7. Загрузить последнюю версию Java (на данный момент, версия 7 обновление 51).

После установки Java, дважды щелкните по downloadBlogMailru.jar, чтобы запустить программу.

Если у вас уже установлена Java версии 7, то программу можно сразу запустить. Я рекомендую обновить Java до 7u51, если установлена предыдущая версия.

Благодаря использованию технологии Java, эта программа будет работать в Linux и MacOS, хотя я не тестировал.

Работа с программой

Основное окно программы выглядит следующим образом:
Блоги@Mail.ru: Сохранение блога

Оно несильно изменилось с предыдущей демонстрации.

Интерфейс разбит на 4 шага.

1. Авторизация

Авторизация не требуется. С другой стороны, это одна из самых важных возможностей. Авторизация на Mail.ru позволяет получить доступ ко всем своим записям, включая:

  • Личные записи,
  • Записи для друзей,
  • Записи, отмеченные роботом как спам.

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

Введите имя пользователя, выберите домен, введите пароль и нажмите кнопку Войти. Если авторизация прошла успешно, то надпись Вход не выполнен изменится на Вход выполнен: user@mail.ru, и команда на кнопке заменится на Выйти

Авторизация происходит по защищенному соединению так же, как при входе на Mail.ru в браузере.

2. Адрес блога

Введите адрес сохраняемого блога.

Если установлен флажок, Автоматически обновлять адрес блога в блоке Авторизация, то адрес блога автоматически обновляется для введенного имени пользователя и выбранного домена. Удобно для сохранения своего блога. Эту возможность можно использовать и для сохранения чужого блога, если указать соответствующий логин и домен, причем поменять их можно и после авторизации.

3. Папка для сохранения

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

Рекомендую использовать пустую папку.

4. Метод сохранения

В данный момент доступен только один метод: HTML.

Все записи блога будут сохранены в файлах с именами в формате: ##.html, где # — число. Самая верхняя запись будет сохранена под номером 1; соответственно самая первая опубликованная в блоге запись будет последней в списке файлов.

Страницы блога сохраняются в неизмененном виде, как будто вы открыли ее в браузере и в меню выбрали команду Сохранить как в формате только HTML. На подобной странице вы увидите все несвернутые комментарии. Впрочем, некоторые элементы страницы могут не работать или работать неправильно при просмотре на локальном компьютере.

В дальнейшем я сделаю обработку этих HTML-файлов, чтобы оставить только тело самой записи и убрать всю лишнюю навигацию. С этой целью вместе с HTML-страницами сохраняется служебный файл urlToFile.map, который позволит исправить ссылки между постами.

Когда все нужные параметры указаны, нажмите кнопку Сохранить блог.

5. Индикатор выполнения

Если никаких ошибок не обнаружено, то начнется процесс сохранения блога.

Сначала будет произведено сканирование блога, чтобы собрать ссылки на все записи блога:
Сканирование блога... Найдено записей: 19

После завершения сканирования начнется сохранение страниц блога:
Сохранение блога... Обработано записей: 18 из 58

И, наконец, когда все записи будут сохранены:
Сохранение блога завершено. Обработано записей: 58 из 58

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

Когда сохранение завершено, кнопка переименовывается в Закрыть.

После закрытия этого окна, можно сохранить еще один блог. :)

В демонстрации использован старый блог vovik_ptz. Количество записей в его блоге, конечно, гораздо больше, чем 58: сканер блога был искусственно ограничен.

Ограничения

В программе установлена задержка в 0,5 с между последовательными запросами к серверам Mail.ru. Но даже этого оказалось недостаточно: время от времени Mail.ru блокирует доступ, возвращая ошибку 403. Если это происходит, то программа «засыпает» на 2 минуты перед повторной попыткой скачать следующую страницу.

Это состояние сейчас никак не отображается в интерфейсе. И выглядит как будто программа зависла: меняется только время.

Кроме того, попытка прервать сохранение файлов не будет обработана сразу же. После подтверждения отмены сохранения, кнопка Отмена станет заблокированной. Как только завершится ожидание из-за ошибки 403, запрос на отмену будет обработан. Я исправлю это поведение в следующей версии.

Должен отметить, что максимальное время ожидания в случае ошибки 403 составляет 10 минут, если сервер Mail.ru возвращает этот код несколько раз подряд.

Отказ от гарантий

Программа предоставляется по принципу «КАК ЕСТЬ» без каких-либо гарантий — вы используете ее исключительно на свой страх и риск. Автор (то есть я) не будет отвечать ни за какие потери или искажения данных, любую упущенную выгоду в процессе использования, неправильного использования или невозможности использования этого программного обеспечения.

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

Безопасность

Ваш пароль используется исключительно для авторизации на серверах Mail.ru и исключительно для получения доступа к непубличным — личным или только для друзей — записям блога. Пароль никаким образом не сохраняется.

Файл программы downloadBlogMailru.jar имеет цифровую подпись, гарантирующую, что он не был изменен. Но подписан он сертификатом без доверия (само-подписанным сертификатом).

Ошибки

Я протестировал программу, насколько смог, но все-таки во время работы могут произойти ошибки. В данный момент, не реализовано подробное журналирование, но если запустить программу особым образом, то можно увидеть информацию, которая поможет локализовать и устранить проблему.

Иногда вы можете увидеть страшное с сообщением об ошибке:
Произошла ошибка: Java stack trace

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

Контакты

Если у вас возникли вопросы, оставляйте комментарии здесь или пишите на электронную почту, я постараюсь на них ответить.

Если вы выкладываете эту программу куда-то еще, то активная ссылка на эту страницу обязательна. Всегда предоставляйте оригинальную ссылку для загрузки downloadBlogMailru.jar, чтобы у пользователей была самая последняя версия.

В остальном, ссылки и распространение приветствуются.

Tags: java, блог, программирование
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 179 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →