Файл: Кафедра прикладной математики курсовая работа анализ предпочтений участников сообществ с помощью api "вконтакте".docx
Добавлен: 08.11.2023
Просмотров: 89
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Исходя из полученных результатов, одну из лидирующих строчек занимают посты которые направлены на поднятие настроения. Это следовало ожидать, так как участники сообщества, как правило, лайкают то, что подняло им настроение.
Также оказались популярными посты, как и в предыдущем разделе, с темой «цитаты преподавателей».
Таблица 7 – Записи, лидирующие по количеству лайков «Подслушано КубГМУ»
views | likes | reposts | Text |
10188 | 473 | 3 | Шантыз, указывая на кость: -Возьми. -Кого? -Меня! |
19570 | 366 | 0 | Пара по пат.анатомии : Преподаватель: "как называется фермент , расщепляющий жиры ?" - Тишина... Преподаватель :" ну углеводы расщепляет амилаза , белки - протеиназы , а жиры ?" -студент : "Жиробаза ?" |
14530 | 363 | 2 | Началось Ежегодная рубрика "Сентябрьский Первокурсник" |
10635 | 313 | 2 | На паре Жукова А.В.: -Почему "ядро одиночного пути" так называется? - Ну вот препарировали: на что было прохоже, так и назвали. Фибула - заколка для волос, Бука - музыкальный инструмент-труба, во время игры на которой сильно раздувались щеки. В ваше время были бы айфоноподобные образования или какой-нибудь "бугорок Оксимирона", "пучки Гнойного" - Как-то он даже репчик зачитывал по теме занятия Любимый преподаватель |
16377 | 277 | 0 | Мало кто знает, что Славинский А.А. подрабатывает римским прокуратором. |
23063 | 268 | 2 | Пришло время сессии. А уровень твоих знаний по экзаменационным предметам на уровне консервированного горошка. |
8435 | 208 | 0 | Это плохая примета, если я тебя запомнил. (с) Байбаков С.Е. |
После сортировки мы наблюдаем следующее: интересы студентов КубГУ и КубГМУ полностью совпали. Однако следует заметить, что КубГМУ являются более активными пользователями. Максимальное количество лайков в из группе составляет 473 когда а группе « Подслушано в КубГУ» всего 58, учитывая то, что количество просмотров примерно одинаково.
3.3 Сортировка по количеству репостов
Репост записи зачастую делается людьми, если информация кажется им достаточно интересной и полезной, чтобы ею можно было поделиться с друзьями, либо сохранить и прочитать еще раз в свободное время. Поэтому количеству репостов записей следует уделить достаточно внимания при анализе.
Произведем сортировку по количеству репостов. Результаты представлены в таблицах 8 и 9:
Таблица 8 – Записи, лидирующие по количеству репостов «Подслушано в КубГУ»
views | likes | reposts | text |
4391 | 13 | 2 | На территории универа найдена собака, явно домашняя Если кто знает хозяина или может взять ее на передержку, онау заднего входа на эконом |
3158 | 31 | 1 | Учитель в школе: я не буду навязывать вам свои политические убеждения, все сами потом решите. Преподаватель в универе: садитесь, а я сейчас объясню вам, какое у вас должно быть мнение по поводу гражданского общества и демократии в стране. |
7367 | 58 | 0 | Кто самолет не рисовал, тот бух учета и не знал! |
10679 | 50 | 0 | Скоро сессия. Радуюсь, что могу теперь про нее шутить (шучу, не радуюсь) 1 курс. Юрфак. |
Таблица 9 – Записи, лидирующие по количеству репостов «Подслушано в КубГМУ»
views | likes | reposts | text |
10188 | 473 | 3 | Шантыз, указывая на кость: -Возьми. -Кого? -Меня! |
14530 | 363 | 2 | Началось Ежегодная рубрика "Сентябрьский Первокурсник" |
10635 | 313 | 2 | На паре Жукова А.В.: -Почему "ядро одиночного пути" так называется? - Ну вот препарировали: на что было прохоже, так и назвали. Фибула - заколка для волос, Бука - музыкальный инструмент-труба, во время игры на которой сильно раздувались щеки. В ваше время были бы айфоноподобные образования или какой-нибудь "бугорок Оксимирона", "пучки Гнойного" - Как-то он даже репчик зачитывал по теме занятия Любимый преподаватель |
23063 | 268 | 2 | Пришло время сессии. А уровень твоих знаний по экзаменационным предметам на уровне консервированного горошка. |
18321 | 207 | 1 | Концентрация ядов 2% - поздно пить боржоми (с) Литвинова Т.Н. |
3593 | 93 | 1 | Отчисление - это как музыкальная карьера Бузовой. Видишь результат, а как это получилось - не понятно |
1922 | 29 | 1 | Встречайте нового отечественного супергероя: ЧЕЛОВЕК-ВОЛОНТЕР Вы спросите, какими способностями он обладает? А я вам отвечу: +1 балл к ординатуре |
19570 | 366 | 0 | Пара по пат.анатомии : Преподаватель: "как называется фермент , расщепляющий жиры ?" - Тишина... Преподаватель :" ну углеводы расщепляет амилаза , белки - протеиназы , а жиры ?" -студент : "Жиробаза ?" |
В данном случае выявить какую-то закономерность невозможно, так как количество репостов, по сравнению с лайками и просмотрами, ничтожно мало. Из этого следует вывод, что студенты неохотно делятся записями из сообществ своего университета.
ЗАКЛЮЧЕНИЕ
В ходе данной курсовой работы была разработана программа, позволяющая получать информацию из базы данных vk.com, выбирать интересующие нас данные и записывать их в табличный вид.
Был произведен анализ записей сообществ «ВКонтакте» «Подслушано в КубГУ» и «Подслушано в КубГМУ» за прошедший год по трём основным показателям активности.
Можно сказать, что интересы участников сообществ совпадают на примерно на 70%, однако есть и существенные различия.
Проанализировав полученные результаты, можно сказать, что участникам сообщества, прежде всего, интересны веселые посты и статьи содержащую тематическую информацию сообщества.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Халилов Д. Маркетинг в социальных сетях: Манн, Иванов и Фербер; Москва; 2013 – 230 с.
2. Знакомство с API ВКонтакте URL: https://vk.com/dev/first_guide (дата обращения: 10.03.2018)
3. Загребельный Г., Боровик М. «Интернет–маркетинг за 55 минут»; Москва; 2012 – 50 стр.
4. Д. А. Храмов «Сбор данных в Интернете на языке R»; Москва; 2017 – 450 стр.
5. https://vk.com/dev/wall.get (дата обращения 15.04.2018)
ПРИЛОЖЕНИЕ
Парсер социальных сетей
import requests
import json
import csv
from datetime import datetime
from time import sleep
def write_json(data):
with open('posts1.json','w',encoding="utf–8") as file:
json.dump(data, file, ensure_ascii=False, indent=2)
def get_data(post):
try:
post_id = post['id']
except:
post_id = 0
try:
views = post['views']['count']
except:
views = 0
try:
likes = post['likes']['count']
except:
likes = 'zero'
try:
reposts = post['reposts']['count']
except:
reposts = 'zero'
try:
text = post['text']
except:
text = '***'
data = {
'id': post_id,
'views': views,
'likes': likes,
'reposts': reposts,
'text': text
}
return data
def write_csv(data):
with open('posts_data.csv','a', encoding="utf–8") as file:
writer = csv.writer(file, delimiter=';')
writer.writerow((data['views'], data['likes'], data['reposts'], data['text']))
def main():
start = datetime.now()
group_id = '– 59061778’ # '-55982026'
offset = 0
date_x = 1494374400
all_posts = []
while True:
sleep(1)
r = requests.get('https://api.vk.com/method/wall.get',params={'owner_id':group_id,'count':50,'offset':offset})
posts = r.json()['response']
all_posts.extend(posts)
oldest_post_date = posts[–1]['date']
offset += 50
print(offset)
if oldest_post_date < date_x:
break
post_data = []
for post in all_posts:
post_data = get_data(post)
write_csv(post_data)
end = datetime.now()
total = end – start
print(total)
print(len(all_posts))
if __name__ == '__main__':
main()