Как перейти к первой записи в группе в вк: «Как открыть первую запись на стене в ВК?» — Яндекс Кью

Содержание

Стена «ВКонтакте»: полный гайд

Что такое стена VK

Где находится стена

Как сделать публикацию

О чем писать

Как работает лента «ВКонтакте»?

Как настроить ленту?

Заключение

Что такое стена VK


Под стеной «ВКонтакте» понимают личное пространство пользователя, где он может делиться своими мыслями и событиями, происходящими в его жизни. Однако это не просто бесконечная лента постов, блок гораздо интереснее. Разработчики платформы регулярно добавляют новые функции и возможности. Поэтому со временем стена превратилась в платформу, где каждый пользователь может заявить о себе. Юзеры могут вести лайфстайл-блог, позиционировать себя как эксперты, а также продвигать товары и услуги.

При входе в профиль любого пользователя соцсети «ВКонтакте» первое, на что вы обратите внимание, – его новостная лента. С помощью этого инструмента легко понять, кем является человек и как он себя позиционирует, его род деятельности и увлечения. В зависимости от настроек посетители страницы могут лайкать, комментировать, делать репосты записей, оставлять свои записи на стене пользователя и многое другое.

На стене размещают информацию разных форматов: фото, видео, гифки, посты, статьи, файлы и музыку. Делать это можно как от своего имени, так и с помощью репостов. Например, вам понравилась статья в какой-нибудь группе и с помощью функции «Поделиться» вы добавляете ее на свою стену. Кстати, любую запись можно закрепить, и она будет показываться первой.

Где находится стена

Соцсеть VK пережила массу трансформаций. До 2010 года не было лайков, комментариев и репостов, а чтобы ответить пользователю на публикацию, нужно было зайти на страницу друга и создать ответ в виде новой записи. При этом лента не прокручивалась вниз, а листалась вбок.

Со временем приложение и веб-версия соцсети vk.com были усовершенствованы. После очередного обновления пользователи начали негодовать. В какой-то момент даже появился мем: «Дуров, верни стену». Но фишка в том, что лента новостей никуда не пропадала, ее просто переместили, а также добавили новые функции и возможности.

Сейчас стена «ВК» не выделена как отдельная категория. Чтобы ее открыть, придется выполнить ряд действий, которые могут отличаться в зависимости от вашего устройства. Например, чтобы открыть свою ленту на телефоне, следуйте инструкции.

  1. Откройте приложение и выполните вход в свой аккаунт.
  2. Зайдите в свой профиль, для этого нажмите на иконку с вашей аватаркой.
  3. Прокрутите открывшуюся страницу вниз до раздела «Записи», это и есть ваша стена.

Таким же способом можно открыть стену любого другого пользователя со смартфона и, прокручивая ее, смотреть на все его посты в хронологическом порядке.

Чтобы посмотреть стену с компьютера или ноутбуку, следуйте инструкции.

  1. Откройте браузер, зайдите на официальный сайт «ВКонтакте» и выполните вход в свой аккаунт.
  2. Кликните по своему имени в правом верхнем углу.
  3. Выберите раздел «Моя страница».
  4. Под блоком с фотографиями вы увидите строку «Что у вас нового?», под ней и находится ваша лента.

Чтобы открыть стену группы, необходимо зайти в мобильное приложение или на официальный сайт, а затем перейти в раздел “Сообщество”. В открывшемся окне выберите нужную группу и кликните по её названию. Далее перед вами откроется лента новостей.

Как видите, найти стену «ВК» несложно. Однако, нет вероятности, что завтра она не переместить в другое место или вовсе не исчезнет, ведь за время существования соцсети этот элемент претерпел множество изменений.

Как сделать публикацию

Сделать запись можно как на своей странице, так и в профиле другого пользователя. Чтобы сделать публикацию у себя с ПК, выполните следующие действия.

  1. Откройте свой профиль и прокрутите ленту до блока с записью «Что у вас нового?».
  2. Нажмите на нее, затем появится поле, где вы сможете записать новость и прикрепить к ней файл, например фото, аудио или видео.
  3. После создания поста нажмите на стрелку в правом верхнем углу, и новость окажется у вас в ленте.

Если вы хотите сделать запись на стене у другого человека, то зайдите к нему в профиль и создайте пост в разделе «Напишите что-нибудь».

Чтобы сделать публикацию на своей странице с телефона, выполните следующие действия.

  1. Зайдите в свой профиль и прокрутите ленту до блока записей.
  2. Нажмите на кнопку «Создать запись».
  3. Далее откроется редактор, в поле «Что у вас нового?» введите текст, а затем настройте конфиденциальность, время публикации и тематику. В пост можно добавить картинки, музыку, видео и многое другое.

Сделать публикацию с телефона можно не только в разделе «Профиль», но и в ленте новостей. Чтобы воспользоваться этим способом, откройте главную страницу и в верхней части экрана нажмите кнопку «Создать запись».

Чтобы опубликовать что-то с телефона на странице другого юзера, перейдите в его профиль и нажмите на кнопку «Напишите что-нибудь».

ВАЖНО! Запись в профиле другого юзера можно сделать, только если он разрешит это действие в своих настройках.

О чем писать

В VK можно опубликовать что угодно, если это не нарушает правила сообщества. Например, вы можете:

  • добавить файл, карту, граффити, товар или опрос;
  • оформить свой текст как полноценную статью;
  • добавить картинку или фотографию;
  • добавить аудио или видео;
  • написать простой текст;
  • добавить смайлики;
  • создать постер.

ПРИМЕЧАНИЕ. Размер поста варьируется от одного символа или смайлика до 15 000 символов. Если пост больше, то оформите его в виде статьи. Если говорить про изображения, то лучше всего подойдет формат JPG и разрешение 1440 × 1080 px.

В процессе создания записи не забывайте про настройки. Основное – это комментарии и уведомления, но также можно выбрать, кто будет видеть ваш пост: все пользователи, только друзья или близкие люди. Чтобы запланировать выход контента, определите конкретный день и время публикации.

Программа также предлагает выбрать тематику публикации из списка, это способствует продвижению.

Как работает лента «ВКонтакте»?


Пост, который вы опубликуете, увидят не только ваши друзья, но и люди, с которыми у вас схожие интересы. Теперь сервис показывает посты не только подписчикам, это стало возможным благодаря внедрению технологий машинного обучения. Алгоритм сам принимает решения, кому показывать ваши посты. Как правило, это регулируется искусственным интеллектом, который анализирует активность пользователей соцсети.

Как настроить ленту?

«ВКонтакте» обладает огромным количеством различных настроек приватности и безопасности. Ваша лента новостей также может быть настроена определенным образом. Например, вы можете:

  • сделать список людей, которые будут оставлять записи на вашей странице;
  • отметить пользователей, которые не будут видеть комментарии к записям;
  • выбрать людей, которые смогут видеть чужие записи на вашей странице;
  • сформировать список тех, кто сможет комментировать ваши записи.

Чтобы внести настройки приватности, перейдите в раздел «Настройки» и откройте вкладку «Приватность». Затем прокрутите страницу до блока «Записи на странице» и выставьте параметры приватности согласно вашим предпочтениям. Подобные настройки помогут обезопасить страницу от нежелательных комментариев и непонятных публикаций.

Заключение

Стена в социальной сети «ВКонтакте» – это интересный и многофункциональный инструмент, который позволяет пользователям заявить о себе. Авторы, которые регулярно пишут интересные посты и получают от читателей обратную связь, могут получить «Огонь Прометея». Бонус увеличивает охваты постов автора на протяжении недели в тысячи раз. Так что действуйте, платформа вас поддержит!

Анализ группы ВК: часть 1, данные

  • 1. Начало
  • 2. Настройка соединения
  • 3. Загрузка списка участников группы
  • 4. Загрузка дополнительных данных
  • 5. Загрузка постов со стены группы
  • 6. Лайки, комментарии и снова лайки
  • 7. Объединение данных
  • 8. Заключение

Отчет в трех частях о работе с данными группы ВКонтакте с помощью языка R. Первая часть описывает получение и обработку данных, вторая – их визуализацию, а третья часть посвящена моделированию. В качестве анализируемой группы выступает беговое сообщество Воронежа.


В первой части используем API ВКонтакте и загрузим данные об участниках сообщества, а также информацию об активностях пользователей на стене группы.

1. Начало

Для работы с API ВКонтакте мы будем использовать OAuth-авторизацию. Приведенный код использовался в RStudio на OS X El Capitan. Для других операционных систем, возможно, потребуется задействовать другие библиотеки.

Sys.setlocale('LC_ALL','utf-8') # если нет проблем с кодировкой, отключите эту строчку
## [1] "C/utf-8/C/C/C/C"
library(RCurl)
library(httr)
library(RJSONIO)
library(lubridate)
library(dplyr)

2. Настройка соединения

Прежде всего надо зарегистрировать свое приложение как Standalone. После регистрации приложения заходим в раздел Настройки узнаем свои client_id и client_secret, сохраняем их соответствующие переменные вместе с именем приложения app_name в файл secret_keys.R

. В поле Адрес сайта вводим адрес, который в консоли R выдает функция oauth_callback() и прописываем localhost в поле Базовый домен. Теперь можно проходить аутентификацию. Напишем функцию, которая будет возвращать строку с токеном:

get_access_token <- function(){
    accessURL <- "https://oauth.vk.com/access_token"
    authURL <- "https://oauth.vk.com/authorize"
    vk <- oauth_endpoint(authorize = authURL,
                         access = accessURL)
    myapp <- oauth_app(app_name, client_id, client_secret)
    ig_oauth <- oauth3.0_token(vk, myapp,  
                               type = "application/x-www-form-urlencoded",
                               cache=FALSE)
    my_session <-  strsplit(toString(names(ig_oauth$credentials)), '"')
    access_token <- paste0('access_token=', my_session[[1]][4])
    
    access_token
}

Теперь для авторизации нам надо выполнить две команды.

Параметр access_token, который нужно указывать в некоторых случаях будет находиться в одноименной переменной. После успешного прохождения аутентификации в браузере появится сообщение: Authentication complete. Please close this page and return to R.

source('secret_keys.R')
# файл выглядит как-то так,
# client_id <- "123456"
# client_secret <- "секретик"
# app_name <- "мое_приложение"
access_token <-get_access_token()

Теперь мы можем отправлять запросы используя методы API и получать информацию в формате JSON. Например:

fromJSON(getURL('https://api.vk.com/method/groups.getById?group_id=rommikh'))
## $response
## $response[[1]]
## $response[[1]]$gid
## [1] 108370559
## 
## $response[[1]]$name
## [1] "Роман Михайлов. Мысли и Загоны."
## 
## $response[[1]]$screen_name
## [1] "rommikh"
## 
## $response[[1]]$is_closed
## [1] 0
## 
## $response[[1]]$type
## [1] "page"
## 
## $response[[1]]$photo
## [1] "http://cs629512.vk.me/v629512597/28987/FZw1VCwd6G0.
jpg" ## ## $response[[1]]$photo_medium ## [1] "http://cs629512.vk.me/v629512597/28986/FflZLcIxhQQ.jpg" ## ## $response[[1]]$photo_big ## [1] "http://cs629512.vk.me/v629512597/28985/jW40wpOChPY.jpg"

3. Загрузка списка участников группы

Ниже приведен код двух функций, которые используются для получения списка участников группы. Певрвая, get_members() имеет два аргумента: идентификатор группы и порядок сортировки (необязательный аргумент), который нужен в случае, если запрос адресуется группе, в которой у нас нет прав модератора (см. комментарий в коде). Также, заданы все возможные поля участников из которых будут выбраны нужные функцией members2df(). Эта функция возвращает датафрейм из переданного ей списка. Здесь используется перебор по всем элементам списка. Хотя этот метод не самый быстрый, он нам вполне подходит — количество пользователей невелико, и он наглядный, нет необходимости подбирать индексы и имена признаков в наших данных. Стоить заметить, что этот метод вернет только первую тысячу участников, т.

к. у исследуемой группы на данный момент порядка 630, то пока он нам подходит. Ниже нам придется загружать и длинные списки (для получения всех постов на стене группы), а так же как преобразовывать данные для стран и городов.

get_members <- function(group_domain, sort = 'sort=time_asc') {
    # формируем строку запроса
    # sort <- 'sort=id_asc' # если нет модераторских прав
    # у нас есть права, поэтому можем загружать в порядке вступления
    fields <- 'fields=sex,bdate,city,country,photo_50,photo_100,photo_200_orig,photo_200,photo_400_orig,photo_max,photo_max_orig,online,online_mobile,lists,domain,has_mobile,contacts,connections,site,education,universities,schools,can_post,can_see_all_posts,can_see_audio,can_write_private_message,status,last_seen,relation,relatives,counters'
    api <- paste0('https://api.vk.com/method/groups.getMembers?group_id=', group_domain)
    request <- paste(api, fields, sort, access_token, sep='&')
    # получаем данные в формате JSON
    members_list <- fromJSON(getURL(request))
    # преобразуем список в data. frame
    members <- members2df(members_list$response$users)
    members
}
members2df <- function(members){
    # создаем датафрейм, в который будем записывать данные
    df <- data.frame(uid = rep(0,length(members)))
    i <- 0
    for (member in members) {
        i <- i + 1
        df$uid[i] <- member$uid # id пользователя
        df$first_name[i] <- member$first_name # имя
        df$last_name[i] <- member$last_name # фамилия
        df$sex[i] <- member$sex # пол
        df$bdate[i] <- ifelse(is.null(member$bdate), NA, 
                              ifelse(nchar(member$bdate)<6,
                                    as.character(dmy(paste0(member$bdate,'.1904'))),
                                    as.character(dmy(member$bdate))))  # дата рождения
        df$city_id[i] <- ifelse(is.null(member$city), NA, member$city) # город
        df$country_id[i] <- ifelse(is.null(member$country), NA, member$country) # страна
        df$university[i] <- ifelse(is. null(member$university_name), NA,
                                   ifelse(member$university_name=='', NA, 
                                          member$university_name)) # ВУЗ
        df$deactivated[i] <- ifelse(is.null(member$deactivated), 'active', 
                                    member$deactivated) # живой ли аккаунт пользователя?
    }
    
        df
}

Итак, теперь мы можем получить данные о пользователях, которые сохраним в таблицу members. Также получим список уникальных стран и городов наших участников.

group_domain <- 'running_vrn'
members <- get_members(group_domain)
members_countries <- unique(members$country_id)
members_cities <- unique(members$city_id)

4. Загрузка дополнительных данных

В ответ на запрос о городах и странах данные приходят в таком формате:

fromJSON(getURL('https://api.vk.com/method/database.getCountriesById?country_ids=211,61'))
## $response
## $response[[1]]
## $response[[1]]$cid
## [1] 211
## 
## $response[[1]]$name
## [1] "Французская Полинезия"
## 
## 
## $response[[2]]
## $response[[2]]$cid
## [1] 61
## 
## $response[[2]]$name
## [1] "Гваделупа"

В этом случае мы можем пребразовывать список списков в датафрейм используя векторные выражения и следующую хитрую функцию. В результирующей переменной придется переименовать колонки.

lists2df = function(ll){
    as.data.frame(do.call(rbind, lapply(lapply(ll, unlist), "[",
                                        unique(unlist(c(sapply(ll,names)))))),
                  stringsAsFactors=FALSE)
}

Теперь мы можем записать страны и города участников в переменные countries и cities соответственно, передав функции lists2df() результат запроса в формате JSON. Перед тем, как собрать все данные окончательно, мы переименуем столбцы этих двух переменных таким образом, чтобы названия были как в переменной members.

# страны
request_countries <- paste0('https://api.vk.com/method/database.getCountriesById?country_ids=', 
                            paste(members_countries, collapse=","))
countries <- lists2df(fromJSON(getURL(request_countries))$response)
# города
request_cities <- paste0('https://api.vk.com/method/database.getCitiesById?city_ids=', 
                         paste(members_cities, collapse=","))
cities <- lists2df(fromJSON(getURL(request_cities))$response)

5.

Загрузка постов со стены группы

Воспользуемся методом wall.getById для чтения всех постов в группе (заметим, этот способ не оптимальный, см. дальше). Методу надо сообщать идентификаторы постов, которые имеют вид -<group_id>_<post_id>. Т.к. нам неизвестны списки постов, то придется перебирать все подряд. Сразу получить все посты за один запрос не удастся, поэтому будем перебирать их пачками по 100. В случае, если поста с данным идентификатором не существует, ничего возвращено не будет. Все посты в группе начинаются с 1. Вычислить последний можно прочитав 2 последних поста и сравнив их идентификаторы (последний пост может оказаться старым и закрепленным, поэтому для уверенности надо прочитать и последний) — для этого можно воспользоваться методом wall.get (здесь у них индексы 2 и 3):

two_last_posts <- fromJSON(getURL('https://api.vk.com/method/wall.get?domain=runningvrn&count=2'))$response
id_max <- max(two_last_posts[[2]]$id, two_last_posts[[3]]$id)

В функции get_wall_posts() мы формируем список идентификаторов постов, которые потом пытаемся получить. Посты читаются пачками, размер которой определен как необязательный параметр id_step. После получения списка постов они приводятся в требуемый вид функцией wall2df().

# пауза при между последовательными запросами
sleep_time <- .34
# сохраняем записи c id_min по id_max в датафрейм
get_wall_posts <- function(id_min, id_max, id_step=100){
    # устанавливаем основные параметры вызова
    extended <- paste0('extended=', 0)
    copy_depth <- paste0('copy_history_depth=', 1)
    # загружаем посты пачками
    id_lo=id_min;id_hi=id_min+id_step-1
    cat(id_min,'-',id_max,': ') # вывод текущей позиции, чтобы не грустить
    while (id_lo < id_max) {
        cat(min(id_hi, id_max), '. ')# вывод текущей позиции, чтобы не грустить
        posts_range <- id_lo:id_hi # диапазон в текущей пачке
        posts <- paste0('posts=', paste0('-', group_id, '_', posts_range, 
                                        collapse=','))
        # используем версию 4. 9
        # можно без access_token (изменится поле whodidthis)
        # request <- paste('https://api.vk.com/method/wall.getById?v=4.9',
        #                  posts, extended, copy_depth, sep='&')
        request <- paste('https://api.vk.com/method/wall.getById?v=4.9',
                         posts, extended, copy_depth, access_token, sep='&')
        posts_list <- fromJSON(getURL(request))
        # если пачка первая, то создаем датафрейм
        if (id_lo == id_min) 
            df <- wall2df(posts_list$response)
        # а если нет, то дополняем следующей пачкой
        else 
            df <- rbind(df, wall2df(posts_list$response))
        # пауза, чтобы запросы не были слишком частыми
        if (id_hi < id_max) Sys.sleep(sleep_time)
        # индексы для новой пачки
        id_lo <- id_lo+id_step
        id_hi <- id_hi+id_step
    }
    
    df
}
# сохраняем посты из wall в датафрейм
wall2df <- function(wall){
    # создаем data.frame в который будем записывать данные
    df <- data. frame(uid=rep(0, length(wall)))
    i <- 0
    # перебираем все посты
    for (wall_post in wall){
        i <- i + 1
        df$uid[i] <- wall_post$id # id поста
        df$author[i] <- wall_post$from_id # автор поста
        df$whodidthis[i] <- ifelse(is.null(wall_post$created_by),
                                   ifelse(is.null(wall_post$signer_id),
                                          NA, wall_post$signer_id),
                                   wall_post$created_by) # автор репоста, если указан
        df$type[i] <- wall_post$post_type # пост/репост
        df$comments[i] <- wall_post$comments[["count"]] # кол-во комментариев
        df$likes[i] <- wall_post$likes[["count"]] # кол-во лайков
        df$reposts[i] <- wall_post$reposts[["count"]] # кол-во репостов
        df$date[i] <- wall_post$date # дата поста
        df$text[i] <- wall_post$text # текст поста
    }
    # преобразуем дату в нужный формат
    df$date <- as.POSIXct(df$date, origin="1970-01-01", 
                          tz='Europe/Moscow')
    
    df
}

Итак, сохраним все посты группы:

group_id <- 89497660 # id нашей группы
id_min <- 1
posts <- get_wall_posts(id_min, id_max)

Опять же заметим, что этот способ не подходит для сообществ с большой историей. Чтение таким методом займет какое-то время из-за перерывов между чтением пачек. Это не критично в нашем случае, потому как постов довольно мало (меньше 500 на момент написания). В целом, наиболее логичным же представляется способ комбинацией типов запросов. Например, в нашем случае на 100 идентификаторов возвращается порядка 20 реально существующих постов. Используя же метод wall.get можно читать по 100 штук, однако здесь возможны трудности – например, во время чтения может быть создан новый пост или откреплен верхний, а чтение этим методом происходит сверху вниз, таким образом, пачки “поедут”. Но благодаря комбинации методов API можно составить список идентификаторов всех реально существующих постов, в этом случае можно прилично уменьшить время чтения.

6. Лайки, комментарии и снова лайки

Мы хотим узнать, кто ставит отметки “мне нравится”, комментирует посты. Также, соберем идентификаторы тех пользователей, кто ставит лайки комментариям. Функция get_likers_commenters() возвращает список, где для каждого поста на стене указаны поставившие лайк к посту, прокомментировавшие его и поставившие лайк к комментариям (в полях likers, commenters, comments_likers соответственно). Функция возвращает первые сто лайков и комментариев, что не ограничивает, у нас и столько нет.

get_likers_commenters <- function(posts){
    posts_likers_commenters <- list()
    cat('1-', dim(posts)[1], ': ', sep='')
    for (i in 1:dim(posts)[1]){
        # получаем пользователей, лайкнувших пост
        request_likers <- paste0('https://api.vk.com/method/likes.getList?owner_id=-',
                                 group_id, '&type=post&item_id=', posts$uid[i])
        likers <- fromJSON(getURL(request_likers))$response$users
        # получаем пользователей, прокомментировавших пост
        request_comments <- paste0('https://api.vk.com/method/wall.getComments?v=5.50&owner_id=-',
                                   group_id, '&post_id=', posts$uid[i])
        comments <- fromJSON(getURL(request_comments))
        # список для комментаторов
        commenters <- c()
        # список идентификаторов постов
        comments_ids <- c()
        # список для поставивших лайки комментарию 
        comments_likers <- c()
        # прокомментировал ли кто-то пост?
        if (comments$response$count){
            commenters <- sapply(comments$response$items, 
                                 function(comment) comment$from_id)
            comments_ids <- sapply(comments$response$items, 
                                   function(comment) comment$id)
            # теперь пройдемся по всем комментариям, чтобы собрать лайкеров
            for (comment_id in comments_ids) {
                request_comments_likers <- paste0(
                    'https://api. vk.com/method/likes.getList?owner_id=-',
                    group_id, '&type=comment&item_id=', 
                    comment_id)
                comments_likers = c(comments_likers, 
                                    unlist(fromJSON(getURL(request_comments_likers))$response$users))
            }
        }
        # заполняем поля идентификаторами пользователей
        posts_likers_commenters[[i]] <- list(likers = likers,
                                             commenters = commenters,
                                             comments_likers = comments_likers)
        # скрашиваем томительное ожидание
        if( i %% 25 == 0) cat(i, ' . ')
        # на моем маке проблема с SSLRead при частых запросах ;(
        if( i %% 200 == 0) Sys.sleep(10)
    }
    posts_likers_commenters
}
posts_likers_commenters <- get_likers_commenters(posts)

Получив последий список с данными об активности пользователей на стене можно собирать все данные вместе

7. Объединение данных

На последнем шаге объединим наши данные в таблицы members и posts, которые будем использовать для построения визуализации и моделирования.

Подготовим таблицы с городами и странами — для этого надо переименовать столбцы по образу таблицы members. Затем преобразуем идентификаторы из строк в числа и заполним пропуски для пользователей, не указавших свои географические данные. Наконец, введем переменную возраст. При создании, пользователям, не указавшим год рождения он устанавливался как 1904. Поэтому после вычисления возраста отсеем пользоватей с возрастом больше 100 лет.

# переименуем столбцы
countries <- rename(countries, country_id=cid, country = name)
cities <- rename(cities, city_id=cid, city = name)
# преобразуем значения идентификаторов в численный тип
countries$country_id <- as.integer(countries$country_id)
cities$city_id <- as.integer(cities$city_id)
# подставим названия городов и стран
members <- left_join(members, cities, by = 'city_id')
members <- left_join(members, countries, by = 'country_id')
# заполним пропуски
members$country[is.na(members$country)] <- 'не указана'
members$city[is. na(members$city)] <- 'не указан'
# введем колонку с возрастом пользователей и уберем значения > 100 лет
members$age <- floor(as.numeric(difftime(now(), members$bdate, units = 'days'))/365.25)
members$age[members$age > 100] <- NA

Перенесем всю данные из переменной posts_likers_commenters в таблицу posts. При этом каждая ячейка в новых столбцах будет списком.

# добавим информацию об активности к каждому посту
posts$likers <- sapply(posts_likers_commenters, function(plc) plc$likers)
posts$commenters <- sapply(posts_likers_commenters, function(plc) plc$commenters)
posts$comments_likers <- sapply(posts_likers_commenters, function(plc) plc$comments_likers)

Таким образом, вся нужная информация перенесена в таблицы members и posts и готова для использования. Сохраним ее в один файл для последующей работы.

save(list = c('posts', 'members'), file = "runningvrn.RData", envir = .GlobalEnv)

8.

Заключение

Итак, мы получили все необходимые исходные данные для анализа. Для справедливости стоит заметить, что для групп с большими количеством участников и активностью методы надо доработать. Хороший способ представляют собственные методы на VKScript.

Посмотрим заголовки полученных таблиц:

load("runningvrn.RData")
# география участников сообщества
head(members[,-3], 3)
##         uid first_name sex      bdate city_id country_id university
## 1  14557170     Сергей   2 1991-02-11       0          1        ВГУ
## 2 101040354     Сергей   2 1904-02-24      42          1        ВГУ
## 3  93517209    Алексей   2 1994-06-03      42          1      ВГИФК
##   deactivated      city country age
## 1      active не указан  Россия  25
## 2      active   Воронеж  Россия  NA
## 3      active   Воронеж  Россия  21
head(posts, 3)
##   uid    author whodidthis type comments likes reposts                date
## 1   2 -89497660         NA post        0    24       2 2015-03-12 23:50:09
## 2   3 -89497660         NA post       12    17       8 2015-03-13 11:04:37
## 3  17 -89497660   14557170 post       13    19       4 2015-03-14 10:52:10
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       text
## 1                                                                                                                                                                                                                               Друзья!<br>Мы создаем "Клуб любителей бега в городе Воронеж". <br>Каковы его цели:<br>1. Объединить людей, любящих бегать или желающих научиться.<br>2. Создать площадку для общения и обмена опытом и ,конечно, совместных тренировок.<br>3. Предоставить возможность заниматься с тренером и получить необходимые знания.
## 2                                                                                                                                                                                                                                                                                                                                                                  Друзья!<br>Завтра первый сбор и тренировка!<br>Встреча в 8.00 утра в СК "Олимпик" 14.03 суббота! <br>Сбор за шлагбаумом у красного здания с надписью "Subway".<br>Для связи 89805562423
## 3 Ребят, спасибо всем, кто сегодня пришел!Сбор был в 8, в 8.05 был старт,так что те, кто опоздали - в следующий раз не опаздывайте!)Вышло три группы: ребята пробежавшие 13 км, 6 км, и девочки,которые тоже что то, но пробежали!В связи с этим:<br>1.  В следующий раз мы сделаем разделение на несколько групп!\U0001f3c3\U0001f3c3\U0001f3c3<br>2.Время и количество сборов тоже обсудим в группе,я думаю, 2-3 пробежки в неделю будет.<br>Девочки, которые спрашивали, как правильно бежать, дышать,одеваться и т.д. - все это будем постить в группе!
##                                                                                                                                                                                                                                                 likers
## 1 312499475, 2383410, 27426538, 116583986, 43224637, 16038695, 2375685, 31297393, 53200996, 132013462, 4906974, 13325384, 14557170, 23071780, 13148927, 41000815, 327715051, 215613672, 169312826, 21164907, 193199838, 22733010, 295507857, 101040354
## 2                                                                      31297393, 16452689, 37612440, 32838148, 14557170, 170847804, 28653573, 14867663, 193199838, 54937370, 59069686, 89453366, 198508425, 112710793, 195566974, 191661180, 101040354
## 3                                                     61756904, 49111265, 77397282, 35009292, 31297393, 13235227, 19073490, 116583986, 293992804, 7019172, 36217267, 18039690, 12921515, 16215566, 198508425, 101040354, 124076145, 28653573, 14557170
##                                                                                                commenters
## 1                                                                                                    NULL
## 2 231369078, 16215566, 231369078, 16215566, 101040354, 16215566, 101040354, 193199838, 43021214, 14557170
## 3         12795268, 14557170, 59069686, 14557170, 7846755, 14557170, 7846755, 14557170, 7846755, 14557170
##                          comments_likers
## 1                                   NULL
## 2                                   NULL
## 3 4041680, 14557170, 16215566, 198508425

Dashboard — Справочный центр Рекламы ВКонтакте

В разделе Кампании вы можете получить общую информацию о ваших кампаниях, группах объявлений и объявлениях. Здесь вы можете быстро проверить свои настройки, статус и статистику, а также отредактировать свои кампании, группы объявлений и объявления.

Панель инструментов включает три вкладки: вкладка Кампании содержит все ваши кампании независимо от статуса, вкладка Группы содержит все группы объявлений, а вкладка Объявления содержит все объявления.

Кнопка Черновики открывает панель черновиков: тех кампаний, групп и объявлений, которые вы еще не запускали.

Чтобы оставить на панели управления только кампании с определенной рекламной целью или кампании, группы и объявления с определенным статусом, нажмите кнопку Фильтр и выберите нужные параметры. Фильтры можно сохранить, выбрав и применив нужные параметры, а затем нажав Сохранить.

Вы можете обновить данные на приборной панели, используя Refresh 9кнопка 0004. Кнопка работает независимо для каждой вкладки: например, вы можете скачивать свежие данные по кампаниям, но не обновлять данные по группам.

Содержимое таблицы

В дашборде отображается краткая статистика: основные метрики по каждой кампании, рекламной группе и объявлению.

Вы можете настроить дашборд под себя и выбрать метрики, которые будут отображаться. Для этого нажмите на шестеренку и отметьте нужные метрики. Эти настройки независимы для каждой вкладки: например, для кампаний можно выбрать отображение всех метрик, а для групп — только несколько наиболее важных.

Вы также можете изменить порядок столбцов в таблице. Для этого нажмите на кнопку с шестеренкой и в правой части окна настроек установите тот порядок столбцов, который вам нужен.

Строки можно сортировать по значению: нажмите на заголовок столбца, и строки будут отсортированы от наименьшего значения к наибольшему или наоборот.

Чтобы изменить ширину столбца, нажмите на правую часть столбца в заголовке таблицы и перетащите его вправо или влево.

Все изменения с настройками стола автоматически сохраняются: при следующем входе в интерфейс вы увидите его в том же виде.

Данные статистики доступны в течение 365 дней. По умолчанию период составляет 1 месяц.

Показатели

Вы можете выбрать показатели, которые хотите отслеживать для своих кампаний, и отключить все остальные. Для этого:

  1. Откройте панель инструментов или страницу расширенной статистики кампании.
  2. Щелкните Настройки (значок шестеренки) → Настроить столбцы .
  3. В открывшемся окне выберите нужные параметры и порядок столбцов.
  4. Нажмите Сохранить .

Набор настроек будет применяться только к текущей таблице (т.е. если вы измените метрики на странице дашборда, набор метрик будет применяться только к дашборду и не повлияет на расширенную статистику — и наоборот).

Если вы отслеживаете разные показатели для разных кампаний, вы можете собрать несколько шаблонов настроек (пресетов) и переключаться между ними. Чтобы сохранить предустановку:

  1. Откройте панель инструментов или страницу расширенной статистики кампании.
  2. Щелкните Настройки (значок шестеренки) → Настроить столбцы .
  3. В открывшемся окне выберите нужные параметры и порядок столбцов.
  4. Задайте название пресета в поле внизу окна и включите переключатель Save Column Set .
  5. Нажмите Сохранить .

Выбранный параметр будет автоматически применен к статистике и приборной панели. При необходимости вы можете отредактировать сохраненный пресет.

Для переключения между несколькими пресетами нажмите кнопку Настройки кнопку (значок шестеренки) на странице дашборда и выберите нужный пресет или стандартный набор настроек.

Всего можно создать до 5 собственных пресетов, включая базовый набор настроек. Если вы достигли предела, но вам нужно создать новый пресет, удалите ненужные пресеты или отредактируйте уже созданные.

Ниже вы можете увидеть доступные метрики.

Настройки

  • Имя — название, которое вы установили для кампании, группы объявлений или объявления.
  • Статус — статус кампании, группы объявлений или объявления. Подробнее о статусах
  • ID — индивидуальный номер кампании, адсета или объявления в системе. Группы также показывают идентификатор кампании, к которой они принадлежат, а объявления показывают идентификатор группы, к которой принадлежит объявление.
  • Цель объявления — тип объекта объявления, который вы выбираете при запуске объявления.
  • Бюджет — ограничения бюджета для группы объявлений.
  • Max price — максимальная цена установки/конверсии.

Основные показатели

  • Показы — количество показов ваших объявлений в браузерах или мобильных приложениях за определенный период.
  • Клики — количество кликов по вашим объявлениям за указанный период. видел вашу рекламу с даты начала кампании до конца выбранного вами периода.
  • eCPM – эффективная цена за тысячу показов
  • CTR (рейтинг кликов) – отношение количества кликов к количеству показов, умноженное на 100 %
  • eCPC — эффективная цена за клик, основанная на количестве посещений веб-сайта
  • Цена за результат — цена за конверсию: сумма потраченных денег, деленная на количество конверсий.
  • Результат — количество постбек-конверсий, пришедших в VK Ads.
  • Потрачено – общая сумма затрат на рекламу за выбранный период.

Перевод

Переключатель перевода для включения/выключения оценочной статистики. Вы можете выбрать период (от 5 до 60 минут) и следующие показатели:

  • Клики
  • Показы

Блок доступен только в наборах объявлений и объявлениях.

Приложения

Время атрибуции. С помощью этих настроек вы можете выбрать способ расчета стоимости конверсии, а также Value, ROMI и ACS. Это необходимо для ситуаций, когда между показом объявления и покупкой прошло несколько дней.

Метод атрибуции:

  • до даты показа
  • до даты конверсии

Тип атрибуции:

  • после клика
  • после просмотра
  • Всего

Метрики:

  • Стоимость
  • CR (коэффициент конверсии)-Уровень преобразования в Clicks Multiple, на 100%
  • 9004 70047
  • 9004 70047 9004 70047
  • 777777 70047777777777777777777777 70047
  • 70047 70047 7004
  • ACS (доля расходов на рекламу) — отношение расходов на рекламу к доходам, умноженное на 100 %
  • ROMI (возврат инвестиций в маркетинг) — отношение разницы между доходами и затратами на рекламу к затратам на рекламу, умноженное на 100 %

Видео

  • Видео запущено – количество просмотров
  • 10 с просмотрено – количество просмотров за 10 секунд 25%, 50% or 75% of the length or till the end

Community

  • Joins
  • Messages
  • VKontakte sales
  • Likes
  • Shares

Pixel events

Event metrics:

  • Конверсии – количество целевых действий, совершенных пользователями, перешедшими на сайт из текущей рекламной кампании.
  • CR — % пользователей, совершивших конверсию после перехода на сайт с объявления.
  • Ценность – общая полученная ценность всех конверсий, совершенных пользователями. Рассчитывается только в том случае, если ценность конверсии передается в пиксель сайтом или жестко задана для выбранного события в настройках пикселя.
  • СКД – доля затрат на рекламу, рассчитываемая как отношение расходов на текущую рекламную кампанию к полученной величине. Рассчитывается только в том случае, когда передается ценность конверсий.
  • ROMI – окупаемость инвестиций. Рассчитывается как отношение разницы между полученным значением и затратами на рекламную кампанию к затратам на рекламную кампанию. Рассчитывается только при переносе ценности конверсий.

Конверсии для расчета метрик выбираются из списка событий всех пикселей, подключенных к рекламному кабинету.

Конверсии учитываются в 10-дневном окне атрибуции.

Вы можете просмотреть подробную статистику по каждой кампании, группе объявлений и объявлению. Для этого наведите курсор на строку и нажмите Статистика .

В верхней части окна отображается выбранный период статистики и основные метрики — Клики, CTR, Результат (количество постбек-конверсий, пришедших на VK Ads), Цена за результат (стоимость конверсии: сумма потраченных средств, деленная на количество конверсий), Потрачено (общая сумма затрат на рекламу за выбранный период).

На разных вкладках можно посмотреть статистику:

  • по периодам (обзор),
  • по демографии
  • по географии,
  • по ключевым фразам.

 

На графике отображаются значения двух выбранных метрик за период с разбивкой по дням. Метрики можно изменить.

В таблице ниже представлены все данные по выбранным метрикам за период с разбивкой по дням. Чтобы выбрать метрики, которые будут отображаться, нажмите Настройки и отметьте нужные метрики.

Обзор (период)

На этой вкладке можно просмотреть статистику по разным периодам: по дням (выбрано по умолчанию), неделям, месяцам.

На графике отображаются две метрики — по умолчанию это клики и показы. Метрики можно изменить: для этого нажмите Настройки и отметьте нужные метрики.

Демография

Демография Вкладка позволяет узнать, какой пол и возрастная группа с наибольшей вероятностью взаимодействует с вашими объявлениями. Демографическая статистика представлена ​​в двух блоках.

В первом блоке можно выбрать метрику и посмотреть, как ее значение распределяется среди людей из разных групп:

  • слева показано соотношение между группами людей разного пола (мужчины, женщины и те, чей пол мы не можем определить);
  • справа — распределение как по полу, так и по возрасту.

По умолчанию выбран показатель Показы , его можно изменить.

Второй блок показывает распределение двух выбранных метрик (по умолчанию показов и кликов) между группами разного пола и возраста.

Также показывает цену за результат — общую стоимость выбранного целевого действия.

География

На этой вкладке можно увидеть распределение метрик по географии. В столбце Регион отображаются все страны/регионы/города, в которых была показана кампания.

Ключевые фразы

На этой вкладке отображается распределение метрик по ключевым фразам, которые вы использовали при создании объявления. Статистику можно просматривать на любом уровне — кампаний, групп объявлений и объявлений.

Загрузка отчета статистики

Отчет можно сохранить в виде файла xlsx. Доступны два типа отчетов: общий и по дате.

Чтобы сохранить отчет: 

  1. Откройте информационную панель.
  2. В календаре над таблицей выберите период, за который вы хотите сформировать отчет.
  3. Если вы хотите, чтобы в отчет попали только определенные кампании, группы и объявления, примените фильтры (например, Активные кампании или Только объявления ) и статусы ( Все, Активные и т. д.).
  4. При необходимости измените список метрик, которые войдут в отчет.
  5. Нажмите Кнопка «Загрузить отчет» .
  6. Выберите тип отчета: сводный или по дням.
  7. Сохраните файл.

К отчету будут применены те же настройки, что выбраны в таблице: фильтры, статусы, метрики.

Общий отчет может включать не более 1000 объектов (кампаний, групп, объявлений).

Максимальный статистический интервал составляет 1 год (365 дней).

Отчет по датам может включать не более 100 объектов (кампаний, групп, объявлений).

Максимальный интервал статистики составляет полгода (182 дня).

Содержание

Читайте также

Статусы кампаний, наборы объявлений и объявления

Вертикальный километр Лоун-Пик — Горные трассы Рут

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Начало в районе курорта Бигнерс

Описание

высота 7 534 фута. Отсюда ВСЕ в гору, набирая 3 632 фута, до высокой вершины Одинокого пика на высоте 11 166 футов. (В 2023 году гонка завершится на 700 футов ниже вершины Одинокого пика.

Набор высоты будет близок к 2,900 футов)

Первая половина трассы начинается с лыжных трасс, известных как Хантли-Холлоу и Каламити-Джейн. Крутые дороги, идущие прямо вверх по этим трассам, будут самым прямым путем к основанию Bone Crusher и Alto ridge, а также к вершине подъемника Swiftcurrent.

Вторая половина пути вдоль хребта Bone Crusher и Alto к вершине будет ЧРЕЗВЫЧАЙНО КРУТОЙ И ТЕХНИЧЕСКОЙ с участками воздействия и потенциальной опасности камнепада. У нас будет персонал по безопасности вдоль хребта, который следит за бегунами и оценивает любые объективные опасности, но вы, участник гонки, несете ответственность за то, чтобы знать свое окружение и других бегунов. Это настоящая горная трасса, поэтому, пожалуйста, относитесь к ней с уважением, которого она заслуживает!

Прекращения трассы

Для безопасности наших волонтеров и сотрудников Big Sky Resort на горе у нас будет два отрезка пути для Lone Peak VK.

  • Отрезок №1: 1 час отсечки на вершине кресла Swiftcurrent перед тем, как бегуны отправятся на Bonecrusher и Alto ridge на вершину Lone Peak. Вершина кресла Swfitcurrent находится примерно в 1,7 милях от начала.
  • Отрезок № 2: 90-минутный отсев на вершину хребта Bone Crusher Ridge, который является первым шагом альпийского участка.

Общая продолжительность гонки в 2023 году составляет 2 часа. в 2023 году у нас будет ограниченное количество закусок, которые наши волонтеры отправят к финишу, чтобы бегуны могли пополнить запасы перед спуском к подъемнику Swiftcurrent.

Призы

Мы удвоили наш призовой фонд для трех лучших финишеров среди мужчин и женщин в 2023 году для ВКонтакте!

  • Первый: 1000 долларов
  • Секунда: 500 долларов
  • Третий: $250

Мы также будем вручать награды в возрастной группе для трех лучших в каждой возрастной группе. (16-19,20-29,30-39,40-49, 50-59, 60+)

Наконец, у нас есть подразделение Jorts, и мы будем награждать изготовленными на заказ джинсовыми жилетами самых быстрых мужчин и женщин, поднявшихся на вершину Одинокой вершины. в обрезанных джинсах! Чтобы войти в дивизион брюк, наденьте трусы.

Сумки (с поправкой на 2023 год)

Участники ВКонтакте могут оставить сумки на месте старта/финиша гонки, которые мы затем доставим на вершину подъемника Swiftcurrent, чтобы вы могли взять их по пути вниз по склону. Это означает, что вы будете бегать/ходить/ползти до вершины трассы (700 футов ниже вершины одинокого пика), а затем спуститесь на 1000 футов и 1 милю до вершины подъемника Swfitcurrent, чтобы получить свою сумку перед спуском на подъемнике. . При получении посылки мы предоставим вам сумку, которую вы должны использовать, если вы вообще решите иметь сумку. Мешки ВКонтакте должны быть сброшены между 9: 00-10:30.

Финишная черта

В 2023 году финишная черта будет у подножия Альтового хребта, на 700 футов ниже вершины Одинокого Пика. На финише будут работать волонтеры, и у нас будет ограниченное количество закусок, которые мы приготовим для наших бегунов.

Разметка трассы

Это не соревнования по спортивному ориентированию. Организаторы гонки сделают все возможное, чтобы трасса была хорошо отмечена для участников гонки в день мероприятия. Участки трассы вне трассы будут обозначены таким образом, чтобы участники гонки могли видеть каждую маркировку трассы до следующей, что поможет им ориентироваться на трассе. Маркировка курса ВК будет розовой!

Погода

Будьте готовы к любой погоде. Хотя погода в Биг Скай относительно мягкая и стабильная в середине сентября, исторически сложилось так, что мы все еще находимся в горах, и условия могут быстро измениться. Это сложная гонка по сложной местности, и организаторы гонки оставляют за собой право остановить гонку в любое время, если сочтут трассу небезопасной из-за погодных условий.

VK Fine Print

  • Иноходцы и собаки: Не допускаются.
  • Трекинговые палки: разрешено
  • Наушники: настоятельно не рекомендуются из-за опасностей, связанных с камнепадами и потенциальными опасностями для диких животных вдоль тропы.
  • Крюинг: Не разрешено
  • Динамики: Из уважения к другим, пожалуйста, не используйте динамики для музыки, которую могут слышать другие люди. Не всем нравится твоя музыка.
  • Спуск: игроки ВК не могут идти пешком/бегать по трассе ВК, но вместо этого должны спуститься вниз по Марксу из-за узости и незащищенности гребневой тропы, ведущей к вершине.
  • Изменения трассы: из-за гористой местности и технического характера этой трассы организаторы гонки могут изменить трассу в день гонки из-за неблагоприятных погодных условий, помня о безопасности участников гонки.

Политика регистрации Rut

  • Никаких отсрочек, кредитов, переводов другим участникам или списков ожидания для любых гонок Rut не предусмотрено. Без исключений.
  • Участники Rut Runner, которые должны отказаться от участия из-за непредвиденных обстоятельств, могут сделать это до 1 июня и получат 50% возмещение.
  • Гонщики в некоторых гонках также могут уменьшаться в дистанции.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *