Pull to refresh

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

Reading time 3 min
Views 59K
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, плюс для python < 2.7 eщё потребуется модуль argparse):

pip install git+git://github.com/max-arnold/fetch-google-reader.git
curl -s -k https://raw.github.com/max-arnold/fetch-google-reader/master/requirements.txt | xargs -n 1 pip install


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
Tags:
Hubs:
+36
Comments 92
Comments Comments 92

Articles