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

от автора

image

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

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

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

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

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

Для работы с Reader API существует документация и пара модулей для Python (сорри, другие языки не смотрел). Из них можно сразу брать libgreader и остальное не читать. Результат — проект fetch-google-reader на 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 или экспорт чтобы всё это можно было утянуть к себе на компьютер когда карты опять лягут не так?

ссылка на оригинал статьи http://habrahabr.ru/post/180111/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *