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

Экспорт Избранного c Мегамозг в PDF

Доброго времени суток!

Экспорт Избранного c Мегамозг в PDF - 1

Думаю многих из вас когда-либо посещала мысль о возможности получения статей из избранного в формате PDF для использования в оффлайне (например, в читалке).
Такая же мысль посетила и меня чуть больше года назад [1].
Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозга в формате PDF.

Новый проект называется HabraParse [2].
Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули docopt, requests и weasyprint (все их легко можно установить командой pip install name).
На текущий момент в скрипте имеются следующие возможности:

  • скачать статью по её ID;
  • скачать список URL избранного для заданного пользователя;
  • скачать статьи из избранного в папку в формате PDF или HTML (пока реализация HTML не на высоте, поэтому по умолчанию используется формат PDF, но он работает значительно дольше).

Использование опций --gt/--mm позволяет сохранять статьи с GeekTimes.ru [3] и Megamozg.ru [4].

Краткое описание параметров скрипта

Usage:

  ./habraparse.py save_favs_list [--gt|--mm] <username> <out_file>
  ./habraparse.py save_favs [--gt|--mm] [-cn --save-html --limit=N] <username> <out_dir>
  ./habraparse.py save_post [--gt|--mm] [-c --save-html] <topic_id> <out_file>

По умолчанию все команды работают с проектом HabraHabr.ru.
При задании опций --gt/--mm скрипт будет работать с GeekTimes.ru/Megamozg.ru.

Команды:

  save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
  save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
  save_post - сохранение в файл <out_file> статьи с заданным ID

Пользуйтесь и наслаждайтесь. В случае выявления ошибок прошу кидать сообщения в личку или заводить баг на github-страничке проекта [5].
Если кому-то чего-то не хватает, то пишите фич-реквест в комментах, по мере сил постараюсь реализовать.

За техническими подробностями прошу на хабр [6].

Автор: icoz

Источник [7]


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

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

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

[1] чуть больше года назад: http://habrahabr.ru/post/208802/

[2] HabraParse: https://github.com/icoz/habraparse

[3] GeekTimes.ru: http://geektimes.ru/

[4] Megamozg.ru: http://megamozg.ru/

[5] github-страничке проекта: https://github.com/icoz/habraparse/issues

[6] хабр: http://habrahabr.ru/post/250027/

[7] Источник: http://megamozg.ru/post/10384/