Skip to content
/ habR Public

R Пакет для анализа хабов и авторов сайта habr.com

License

Notifications You must be signed in to change notification settings

selesnow/habR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hubR

R Пакет для анализа хабов и авторов сайта habr.com.

Позволяет получить следующую информацию:

  • Собрать список лучших авторов любого Хаба
  • Собрать полный список статей и их статистику по любому автору на Хабре
  • Собрать полный список статей со статистикой и ссылками на них из любого Хаба

установка

devtools::install_github("selesnow/habR")

функции

  • habr_user() - подключиться к странице автора Хабры
  • habr_get_posts_stat() - загрузить список статей пользователя
  • habr_hub_top_authors() - загрузить топ 100 пользователей Хаба
  • habr_hub_posts() - загрузить все статьи определённого хаба

пример загрузки данных

library(habR)
library(dplyr)

# получить статьи автора с логином selesnow
habr_user("selesnow") %>%
  habr_get_posts_stat

# собираем лучших авторов хаба R
top_authors <- habr_hub_top_authors("https://habr.com/ru/hub/r/")

# собираем все статьи с Хаба R
r_articles <- habr_hub_posts("https://habr.com/ru/hub/r/")

пример использования

library(habR)
library(purrr)
library(forcats)
library(dplyr)
library(ggplot2)

# ##########################
# Сбор и анализ
# собираем лучших авторов хаба
top_authors <- habr_hub_top_authors("r")

# собираем статистику по статьям 15 лучших авторов хаба
rhub_top <- map_df( head(top_authors$username, 15), ~ habr_user(.x) %>%  habr_get_posts_stat )

# к-во статей по авторам
rhub_top %>% 
  group_by(author) %>% 
  count() %>% 
  ggplot(aes(x = fct_reorder(author, n, .desc = TRUE) , y = n)) + 
  geom_col(aes(fill = n)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
  labs(x = "Автор", y = "Количество публикаций") +
  ggtitle("Количество статей лучших авторов Хаба Язык R")
  
  
# забираем все посты с хаба R
hub_super_r <- habr_hub_posts("https://habr.com/ru/hub/r/")

# смотрим с какими хабами обычно постят статьи в хаб R
# смотрим смежные хабы
hub_r %>%
  mutate(hab_list = str_split(hubs, ",   ")) %>%
  unnest_longer(hab_list) %>%
  filter(hab_list != "R") %>%
  group_by(hab_list) %>%
  count(sort = T) %>%
  head(25) %>%
  ggplot(aes(x = fct_reorder(hab_list, n, .desc = TRUE) , y = n)) + 
  geom_col(aes(fill = n)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
  labs(x = "Хаб", y = "Количество публикаций") +
  ggtitle("Наиболее популярные смежные хабы")

Визуализация смежных Хабов

About

R Пакет для анализа хабов и авторов сайта habr.com

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages