Комментарии 28
Отличная идея
Если решите развивать, было бы круто добавить многопоточность и оформить в виде питоновского пакета (чтобы можно было pip install habrArticleSrcDownloader
)
А вот чтоб еще и с комментами - можно такое?
Да, доработаю.
До сих пор пытаюсь найти скрипт, который будет сохранять статьи из списка ссылок на хабр и отдельно комментарии выше определенного рейтинга, в отдельные маркдаун файлы, например выше +2. В идеале вообще, скрипт добавлял бы ссылки на комментарий во фронтматтер.
Если нужна только одна статья именно в формате md и прямо сейчас, то можно использовать плагин (работает в хроме и опере (через прокладку) https://chrome.google.com/webstore/detail/markdownload-markdown-web/pcmpcfapbekmbjjkdalcgopdkipoggdi
А так - да, действительно было бы замечательно - иметь возможность скачивать не все статьи пользователя сразу, а только какую-то одну конкретную. Ну, и как выше уже писали - если бы еще вместе с комментариями - было бы еще лучше.
Обсидиан - который работает с файлами в формате md, - в таком случае вообще можно было бы сделать что-то типа локальной базы знаний избранных статей с хабра - с поиском, тегами, пометками, графами и всякими другими плюшками.
Хотелось бы уточнить по поводу трекера. Не совсем понимаю, что Вы имеете в виду?
Из Вашего комментария - "возможность скачать только одну статью по айди"
Как я понимаю, т.е. уже есть какой-то подготовленный список статей, которые Вам интересны, с url-ами, содержащими ID статьи?, как, например, обсуждаемая статья
https://habr.com/ru/post/665254/
Если есть список - почему бы не использовать специализированные инструменты, именно и предназначенные для скачивания файлов любого типа из интернета - первое, что приходит на ум - wget или curl.
Если же интересует именно формат md, то после (или даже во время загрузки по пайпу) файлы в формате html уже локально можно переконвертировать в md (вроде как pandoc это умеет искаропки)
Или я опять делаю поспешные выводы?
wget -r -np https://habr.com/ru/post/665254/
, то скачиваются 2 файла: с содержимым статьи и с комментариями:$ find . -type f
./habr.com/ru/post/665254/index.html
./habr.com/ru/post/665254/comments/index.html
./habr.com/robots.txt
$
В результате я вижу 2 проблемы: как скачать прочие ресурсы, например картинки, не выкачивая весь хабр. И как склеить тело статьи с комментариями.
Скачиваем статьи пользователя:
./src/main.py -u jessy_james
Скачиваем закладки пользователя:
./src/main.py -f jessy_james
Интересно а это можно как то оформить в формате плагина для обсидиан?
Спасибо! Отличный скрипт! Скачал уже 2 Гб статей.
Столкнулся с такой особенностью. Если заголовок статьи содержит, например, знак вопроса, то имя папки и файлов будут включать экранированный знак вопроса '/?'. Если эти файлы потом перенести в Win, то их имена не читаются. Можно добавить в скрипт игнорирование спецсимволов при создании файлов/папок?
Великолепный инструмент! Jessy_James, спасибо вам!
Хороший инструмент! Я обычно сохраняю в pdf. Но это не всегда удобно. Если есть анимированные картинки, то уже совсем грустно становится. Кстати, в некоторых статьях есть картинки с форматом jpeg и с форматом PNG. Вот jpeg почему-то портит картинку в браузере и VS Code. Только отдельным просмотрщиком можно смотреть. А вот PNG уже нормально. Есть ли возможность указать на принудительное сохранение картинок в нужном формате? А также сделать сохранение только конкретной статьи, а не всех?
Есть предложение использовать в именовании каталогов 3-значную порядковую нумерацию, дополняя слева незначащими нулями (например, 001 — каталог с публикацией #1, 078 — каталог с публикацией #78). Дабы на выходе, при отображении каталогов в файловом менеджере, была сортировка, как вы и задумывали — от последней написанной к первой (хотя при загрузке своих публикаций я получил обратную сортировку, которая как мне кажется и правильная — от первой написанной к последней).
Я писал, что скачивается от последней статьи к первой. Нумерация же как раз шла от первой написанной к последней. Сейчас же из за многопоточности порядок скачивания как получится.
./src/main.py -s 665634
Экспорт статей Хабра в html, markdown