Новый год — время подводить итоги. И если вы ведёте блог на хабре, или вам интересно посмотреть статистику по чьему-нибудь чужому блогу — то вам может пригодиться моя опенсорсная утилитка.
![](https://habrastorage.org/r/w1560/webt/uu/hr/3u/uuhr3usvc-lvcgail23fu3mrbly.png)
CSV-файл с базовой информацией о всех статьях:
![](https://habrastorage.org/r/w1560/webt/uj/me/ug/ujmeugzthknakwlevwuch8dupuu.png)
(более крупная версия скриншота доступна по клику)
CSV-файл c информацией, какой автор в блоге несёт ответственность за какое число просмотров/комментариев/плюсов/добавлений в закладки.
![](https://habrastorage.org/r/w1560/webt/hp/at/jy/hpatjyjxqtt142gezci4q7tli84.png)
CSV-файл с аналогичной информацией, но сгруппированной по хабам.
![](https://habrastorage.org/r/w1560/webt/gc/4r/im/gc4rimrzsg6oagwkvnh5dxhoqky.png)
CSV-файл с аналогичной информацией, но сгруппированной по тегам. Для скачивания тегов приходится грузить не только список статей, но и каждую статью в отдельности, так что если вам оно не надо — то флаг -skipTags нехило ускорить процесс скачивания данных.
![](https://habrastorage.org/r/w1560/webt/s1/_t/a4/s1_ta4ggovumzpwojnqfn3li8_m.png)
Ну и в качестве бонуса — JSON-файл с этой же информацией.
![](https://habrastorage.org/r/w1560/webt/gf/vs/zt/gfvsztsevvbzhm4lif8sbabbzhi.png)
Исходники лежат на GitHub, написана утилита на Java 10, и уже собранный JAR, инструкция по использованию и примеры – там же, в разделе релизов.
Поскольку Хабрахабр API — миф*, то утилитка просто и уныло разбирает HTML через jsoup. Натравливать утилитку можно как на личные, так и на корпоративные блоги — ей всё едино.
Для корпоративных блогов — передаём программе ссылку на сам блог, например
Для личных блогов нужно указывать страничку с постами, например:
Более подробная справка встроена в приложение, плюс есть readme файл в репозитории.
* может и нет, но я такой информации найти не смог
Не вопрос — баги или пожелания оставляйте в гитхабовские issues, предложения и доработки — туда же в виде pull-request’ов. Ну или прямо здесь в комментариях!
![](https://habrastorage.org/webt/uu/hr/3u/uuhr3usvc-lvcgail23fu3mrbly.png)
Какую статистику выдаёт?
CSV-файл с базовой информацией о всех статьях:
- название
- рейтинг статьи
- число добавлений в закладки
- число просмотров
- число комментариев
- автор
- ссылка на статью
![](https://habrastorage.org/webt/uj/me/ug/ujmeugzthknakwlevwuch8dupuu.png)
(более крупная версия скриншота доступна по клику)
CSV-файл c информацией, какой автор в блоге несёт ответственность за какое число просмотров/комментариев/плюсов/добавлений в закладки.
![](https://habrastorage.org/webt/hp/at/jy/hpatjyjxqtt142gezci4q7tli84.png)
CSV-файл с аналогичной информацией, но сгруппированной по хабам.
![](https://habrastorage.org/webt/gc/4r/im/gc4rimrzsg6oagwkvnh5dxhoqky.png)
CSV-файл с аналогичной информацией, но сгруппированной по тегам. Для скачивания тегов приходится грузить не только список статей, но и каждую статью в отдельности, так что если вам оно не надо — то флаг -skipTags нехило ускорить процесс скачивания данных.
![](https://habrastorage.org/webt/s1/_t/a4/s1_ta4ggovumzpwojnqfn3li8_m.png)
Ну и в качестве бонуса — JSON-файл с этой же информацией.
![](https://habrastorage.org/webt/gf/vs/zt/gfvsztsevvbzhm4lif8sbabbzhi.png)
Где взять?
Исходники лежат на GitHub, написана утилита на Java 10, и уже собранный JAR, инструкция по использованию и примеры – там же, в разделе релизов.
Как работает и как использовать?
Поскольку Хабрахабр API — миф*, то утилитка просто и уныло разбирает HTML через jsoup. Натравливать утилитку можно как на личные, так и на корпоративные блоги — ей всё едино.
Для корпоративных блогов — передаём программе ссылку на сам блог, например
https://habr.com/company/JetBrains/
Для личных блогов нужно указывать страничку с постами, например:
https://habr.com/users/milfgard/posts/
Более подробная справка встроена в приложение, плюс есть readme файл в репозитории.
* может и нет, но я такой информации найти не смог
Я нашёл баг / хочу ещё фичу
Не вопрос — баги или пожелания оставляйте в гитхабовские issues, предложения и доработки — туда же в виде pull-request’ов. Ну или прямо здесь в комментариях!