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

Шесть недель до закрытия Google Reader — спасаем всё что можно

image

Google Reader появился в 2005 году. Год или два спустя я начал им пользоваться как основным источником информации. И вдруг нате, получите — не выгодно, не профильно, закрываемся… Как результат, во-первых потеряли продвинутую (гики) и лояльную аудиторию, во-вторых эти гики тут же начали писать или дописывать различные альтернативы. Усилилась сегментация, возникла проблема выбора ну и вообще some folks got pissed off [1]

За всё это время у меня накопилось порядка 30 подписок, которые я регулярно читал и планирую продолжать в будущем. Официальная рекомендация в блоге [2] предлагает воспользоваться сервисом Google Takeout [3] для выгрузки подписок и закладок в файл.

Сходил, выгрузил. Поискал альтернативы (раз [4], два [5], три [6], четыре [7]). Нашёл, загрузил. Сразу проблемы:

  • Ограничена глубина истории
  • Не везде работает импорт starred items
  • Часть блогов или статей на которые ссылаются подписки уже давно в оффлайне

Ради полноты истории и спасения постов с мёртвых блогов пришлось напрячься и написать инструмент для выкачивания из Google Reader полнотекстовых статей (всего что было в потоке RSS). Есть такие статьи к которым я периодически возвращаюсь, а привычки сохранять в instapaper/scrapbook/evernote у меня нет. Кроме того я частенько пользовался сервисами делающими Full-Text RSS из куцых потоков (типа HackerNews) и в этом плане мои подписки вполне читабельны прямо в ридере.

Для работы с Reader API существует документация [8] и пара [9] модулей [10] для Python (сорри, другие языки не смотрел). Из них можно сразу брать libgreader и остальное не читать. Результат — проект fetch-google-reader [11] на Github.

1. Устанавливаем (желательно в virtualenv):

pip install git+git://github.com/max-arnold/fetch-google-reader.git

2. Создаём директорию куда будут сохраняться статьи:

mkdir rss-backup
cd rss-backup

3. Получаем перечень RSS-подписок:

fetch-greader.py -u YOUR-USERNAME@gmail.com -p YOUR-PASSWORD

* Please specify feed number (-f, --feed) to fetch: *
[0] Atomized
[1] Both Sides of the Table
[2] Hacker News
[3] Signal vs. Noise
[4] хабрахабр: главная / захабренные

Выбираем нужную и запускаем скачивание:

fetch-greader.py -u YOUR-USERNAME@gmail.com -p YOUR-PASSWORD -f 0

* Output directory: atomized *
---> atomized/2011-05-24-i-hate-google-everything/index.html
---> atomized/2011-01-19-toggle-between-root-non-root-in-emacs-with-tramp/index.html
---> atomized/2010-10-19-ipad/index.html
---> atomized/2010-09-01-im-not-going-back/index.html
---> atomized/2010-08-31-they-cant-go-back/index.html
---> atomized/2010-08-28-a-hudson-github-build-process-that-works/index.html
---> atomized/2010-08-18-frame-tiling-and-centering-in-emacs/index.html
---> atomized/2010-08-17-scratch-buffers-for-emacs/index.html
---> atomized/2010-07-01-reading-apress-pdf-ebooks-on-an-ipad/index.html

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

RSS-поток сохраняется в директорию с именем полученным из названия потока (преобразованным в латиницу). Каждая статья сохраняется в отдельную директорию с именем полученным из даты и названия статьи. Сделано это для того чтобы можно было туда же сохранить дополнительные метаданные или картинки. На данный момент картинки не сохраняются т.к. утилита рассчитана на блоги которых уже нет в оффлайне, но ничто не мешает её доработать.

Вопрос к аудитории

Какая из существующих альтернатив не ограничивает глубину истории RSS-потока (т.е. хранит всё что когда-либо было скачано) и навечно кэширует полнотекстовый контент? И на всякий случай имеет API или экспорт чтобы всё это можно было утянуть к себе на компьютер когда карты опять лягут не так?

P.S. Картинка © mashable.com [12]

Автор: cbx

Источник [13]


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

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

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

[1] some folks got pissed off: https://www.youtube.com/watch?v=A25VgNZDQ08

[2] в блоге: http://googlereader.blogspot.com/2013/03/powering-down-google-reader.html

[3] Google Takeout: https://www.google.com/takeout/#custom:reader

[4] раз: http://habrahabr.ru/post/172725/

[5] два: http://habrahabr.ru/post/172665/

[6] три: http://habrahabr.ru/qa/36467/

[7] четыре: http://habrahabr.ru/post/172967/

[8] документация: http://undoc.in/

[9] пара: http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

[10] модулей: https://github.com/askedrelic/libgreader

[11] fetch-google-reader: https://github.com/max-arnold/fetch-google-reader

[12] mashable.com: http://mashable.com/2013/03/13/google-kills-google-reader/

[13] Источник: http://habrahabr.ru/post/180111/