[#] Экспорт Избранного на Хабре в PDF. Версия 2.0
habrabot(difrex,1) — All
2015-02-08 17:30:02


Доброго времени суток, хабражители! ![][1] Думаю, многих из вас когда-либо посещала мысль «вот бы сохранить статьи с Хабра». Такая же мысль посетила и меня [чуть больше года назад][2]. Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозг в формате PDF. Новый проект называется [HabraParse][3]. Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули **docopt**, **requests** и **weasyprint** (все их легко можно установить командой **pip install _name_**). На текущий момент в скрипте имеются следующие возможности:

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

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

./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>
скрипт будет работать с GeekTimes.ru/Megamozg.ru.
Команды: save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
save_post - сохранение в файл <out_file> статьи с заданным ID




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

[1]: http://habrastorage.org/getpro/habr/post_images/208/d6d/e7e/208d6de7ef8762b926d4907b655f6ff2.png
[2]: http://habrahabr.ru/post/208802/
[3]: https://github.com/icoz/habraparse
[4]: http://geektimes.ru/
[5]: http://megamozg.ru/
[6]: https://github.com/icoz/habraparse/issues
[7]: http://habrahabr.ru/post/250027/#habracut