- PVSM.RU - https://www.pvsm.ru -
Google Reader появился в 2005 году. Год или два спустя я начал им пользоваться как основным источником информации. И вдруг нате, получите — не выгодно, не профильно, закрываемся… Как результат, во-первых потеряли продвинутую (гики) и лояльную аудиторию, во-вторых эти гики тут же начали писать или дописывать различные альтернативы. Усилилась сегментация, возникла проблема выбора ну и вообще some folks got pissed off [1]…
За всё это время у меня накопилось порядка 30 подписок, которые я регулярно читал и планирую продолжать в будущем. Официальная рекомендация в блоге [2] предлагает воспользоваться сервисом Google Takeout [3] для выгрузки подписок и закладок в файл.
Сходил, выгрузил. Поискал альтернативы (раз [4], два [5], три [6], четыре [7]). Нашёл, загрузил. Сразу проблемы:
Ради полноты истории и спасения постов с мёртвых блогов пришлось напрячься и написать инструмент для выкачивания из 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/
Нажмите здесь для печати.