Московский экономический журнал 11/2021

image_pdfimage_print

Научная статья

Original article

УДК 004.738.5

doi: 10.24412/2413-046Х-2021-10651

АВТОМАТИЧЕСКОЕ ВЕДЕНИЕ СТРАНИЦЫ УЧРЕЖДЕНИЯ В СОЦИАЛЬНЫХ СЕТЯХ НА ПРИМЕРЕ ЦНСХБ

AUTOMATED ENTRY OF INSTITUTION PAGE IN THROUGH SOCIAL MEDIA USING THE EXAMPLE OF THE CSAL

Комаров Павел Анатольевич, инженер-программист, Федеральное государственное бюджетное научное учреждение «Центральная научная сельскохозяйственная библиотека» (ФГБНУ ЦНСХБ), 107140, Москва, Орликов пер., 3Б, E-mail: kpa@cnshb.ru

Komarov Pavel Anatolievich, Software Engineer, Federal State Budgetary Scientific Institution “Central Scientific Agricultural Library” (FSBSI CSAL), 107140, Moscow, Orlikov per., 3B, E-mail:kpa@cnshb.ru

Аннотация. Приведены результаты научного исследования по автоматическому ведению страницы учреждения в социальных сетях на примере ЦНСХБ. Целью исследования являлось совершенствование информационного обеспечения научных исследований о проблематике АПК в части разработки методов автоматического ведения сообщества библиотеки в социальной сети на основании потока документов из новых поступлений в фонд библиотеки. В результате проведенного сравнительного анализа особенностей социальных сетей и программных интерфейсов, позволяющих осуществить автоматизированную публикацию записей учреждения на их страницах, была выбрана для размещения информации социальная сеть ВКонтакте. Дан краткий обзор функций программного интерфейса социальной сети ВКонтакте, необходимых для публикации информации на публичной странице организации, включающей текст, изображения и гиперссылки. Разработана структура таблицы базы данных для хранения информации об опубликованных записях. Составлена последовательность действий, необходимых для процесса публикации записи. В результате исследования были разработаны технология и консольная утилита на языке C# платформы Microsoft NET Framework, автоматизирующая публикацию новых поступлений библиотеки в социальной сети ВКонтакте, которая внедрена в технологический процесс библиотеки с июля 2021 г.

Summary. There are given the results of researching in automated entry of institution page through social media using the example of the CSAL. The purpose of the research was to improve the information support to research studies in the problems of the AIC in terms of developing methods of automated social media community page management on the basis of the document flow from new acquisitions to the library holding. As a result of a comparative analysis of the peculiarities of social media and software interfaces allowing implementing the automated publishing of the institution records on their pages, a VKontakte social media has been chosen to place information. A summary review is given for the software interface functions of the VKontakte social media required to publish information in the public page of organization including a text, images, and hyperlinks. A table structure of the database has been developed to store information on published records. A sequence of actions required for record publishing process has been made. As a result of the research the technology and command-line tool have been developed in the C# Microsoft .NET Framework platform language automating the publication of new acquisitions of the library through the VKontakte social media that has been introduced in the library technical process since July, 2021.

Ключевые слова: социальные сети, информационные ресурсы, АПК, ЦНСХБ

Key words: social media, information resources, AIC, CSAL

Введение. Окружающий нас мир меняется очень быстро. Мы можем этого не замечать, так как старые и привычные вещи, которыми мы привыкли пользоваться, не уходят в историю мгновенно. Постоянно появляются новые способы сделать что-либо, которые со временем полностью вытесняют старые. Как говорил Льюис Кэрролл устами одного из своих персонажей в далеком 1871 году: “Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!” («Ну а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте. Если же хочешь попасть в другое место, тогда нужно бежать, по меньшей мере, вдвое быстрее!»). Эта фраза в наше время актуальна, как никогда.

Доступ к информации в интернет не исключение. Web последовательно эволюционирует: если некоторое время назад основным способом получения информации были различные сайты, которые можно было найти через поисковые системы, то сейчас, в связи с увеличением доли исключительно мобильного доступа в сеть Интернет, акцент сдвигается в сторону социальных сетей и их мобильных приложений и суперприложений, которыми пользуются все больше пользователей [1] и проводят в них все больше времени.

Естественно, с появлением социальных сетей сайты библиотек никуда не исчезли. Пользователи по-прежнему могут на них зайти и поискать то, что их интересует. Работают сервисы оповещения о новых поступлениях на e-mail. Однако, чтобы ознакомиться с таким письмом, надо специально зайти в почту и его посмотреть. Будут ли читатели все это делать? Современный пользователь перегружен различной информацией и поэтому относится к ней очень избирательно. Здесь немаловажную роль играет удобство ее получения, лишь один лишний клик может заставить пользователя прекратить поиск. Поэтому библиотеке важно находиться на минимальном числе кликов от пользователя, в идеале их не должно быть вообще.

Обычный пользователь социальных сетей в мире проводит на этих платформах 2 часа 25 минут каждый день, что соответствует примерно одному дню в неделю за вычетом времени на сон. Россияне проводят в соцсетях 2 часа 28 минут в день [2]. Самой популярной социальной площадкой у россиян является YouTube – 85% интернет-пользователей в возрасте от 16 до 64 лет пользуются этой сетью. ВКонтакте популярен у 78% россиян [3].

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

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

Научная новизна исследования. До настоящего момента не производилось работ по автоматизированному ведению сообщества ЦНСХБ в социальных сетях. Проведенное исследование позволит устранить данный недостаток.

Методы исследования включали анализ программного интерфейса социальной сети, анализ оптимального времени для публикации, программирование на языке С#.

Результаты исследований и разработка технологии

ЦНСХБ создает виртуальные выставки, начиная с 2014 года, и размещает их на своем сайте в разделе «Виртуальные выставки» [4]. Ранее они носили тематический характер и выходили примерно раз в месяц, с июня 2020 года к ним добавились еженедельные виртуальные выставки «Новые поступления в фонд ЦНСХБ». Для их создания у документов сканируется обложка и первые страницы, включая оглавление, при его наличии. Результат сохраняется в виде набора файлов PDF, по одному на каждую книгу. Было принято решение на основании этих данных организовать автоматическую публикацию информации о новых поступлениях в социальных сетях.

Был проведен анализ социальных сетей и сделан выбор в пользу социальной сети ВКонтакте по следующим причинам:

  • импортозамещение: владельцем ВКонтакте является российская технологическая корпорация VK (до 12 октября 2021 года ‑ Mail.ru Group)
  • популярность: это самая популярная в Российской Федерации социальная сеть, среди принадлежащих российским компаниям.

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

Публикация новых сообщений на стене публичной страницы может осуществляться либо вручную, при помощи сайта, либо мобильного приложения ВКонтакте, либо в автоматическом режиме при помощи программного интерфейса соцсети (API).С полным списком функций можно ознакомиться по ссылке: https://vk.com/dev/methods. Доступ к API осуществляется по протоколу HTTPS.

Для доступа к API ВКонтакте также потребуется ключ доступа, получение которого описано в информации по ссылке: https://vk.com/dev/access_token. Ключ указывается в параметре запроса с именем access_token, без него доступ к API невозможен.

Для получения ключа администратору сообщества необходимо создать Standalone-приложение ВКонтакте на странице https://vk.com/apps?act=manage. После чего в браузере перейти по ссылке https://oauth.vk.com/authorize?lient_id=app_id>&redirect_uri=https://oauth.vk.com/blank.html&display=page&scope=73732&response_type=token&v=5.131 в которой вместо <app_id> подставить идентификатор созданного приложения. Параметр запроса scope является битовой маской настроек доступа приложения и, в данном примере, является комбинацией значений photos (4, доступ к фотографиям), wall (8192, доступ к обычным и расширенным методам работы со стеной) и offline (65536, доступ к API в любое время). В браузере появится запрос на подтверждение доступа.

В случае, если ключ был получен успешно, в браузере откроется страница с адресом вида https://oauth.vk.com/blank.html#access_token =<token>&expires_in=0&user_id=<id> в котором вместо <token> будет искомый ключ доступа. Его необходимо сохранить для будущего использования.

Для публикации на стене новой записи, содержащей текст и фотографии (сканы документа), потребуются три функции API ВКонтакте: photos.getWallUploadServer, photos.saveWallPhoto и wall.post.

В первую очередь необходимо вызвать функцию photos.getWallUploadServer, указав параметры group_id (идентификатор группы), v (версия API Вконтакте) и access_token (ключ доступа). Ответ будет получен в формате JSON. В случае успешного завершения в response.upload_url будет URL сервера для загрузки фотографии.

После загрузки файла изображения сервер вернет JSON-ответ, в котором будут содержаться 3 параметра: server, photo и hash, которые необходимо сохранить для следующей функции.

Функция photos.saveWallPhoto завершает загрузку фотографии. Помимо параметров, перечисленных выше, для ее вызова потребуется group_id, v, access_token, а также caption, содержащий текстовое описание к фотографии. В случае успешного завершения в JSON-ответе содержатся значения id и owner_id, которые определяют идентификаторы фотографии и ее владельца. Вместе эти 2 параметра, объединенные в строку вида photo<owner_id>_<id>, однозначно идентифицируют загруженную фотографию для ее присоединения к сообщению на стене.

Обращение к функции wall.post осуществляет публикацию сообщения на стене. Помимо параметров v и access_token, описанных ранее, необходимо указать:

  • owner_id – идентификатор группы, в которой необходимо разместить сообщение. Функция может работать с идентификаторами сообщества или пользователя. Если указывается идентификатор сообщества, как в нашем случае, то он должен быть записан со знаком “минус”.
  • form_group – значение, равное 1, определяет, что запись должна быть размещена от имени сообщества, а не пользователя ВКонтакте.
  • scope значение wall определяет, что запись должна быть размещена на стене.
  • message – текст сообщения
  • attachments – список идентификаторов загруженных ранее фотографий в формате photo<owner_id>_<id>, разделенных запятой.
  • publish_date – дата публикации записи в формате unixtime (целое число, определяется как количество секунд, прошедших с полуночи 1 января 1970 года). Если параметр указан, публикация записи будет отложена до указанного времени. Данный параметр очень удобен, так как позволяет за один запуск программы разместить множество записей, которые будут автоматически публиковаться в указанное время.

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

В процессе исследования для упрощения доступа к процессу публикации на языке C# платформы Microsoft .NET Framework была написана функция, принимающая в качестве параметров идентификатор группы, ключ доступа, текст сообщения, ссылку, которую необходимо прикрепить, полный путь к PDF-файлу для публикации и возвращает идентификатор созданной записи. Для доступа в API по протоколу HTTPS используется класс System.Net.WebClient, для разбора ответов сервера в формате JSON – класс System.Web.Script.Serialization.JavaScriptSerializer.

Функция также берет на себя преобразование страниц файла PDF в изображения для публикации. PDF, несмотря на кажущуюся пользователям простоту, очень сложный формат, который может содержать как растровые, так и векторные данные. Отрисовка каждой страницы PDF в векторном формате в растр процесс нетривиальный. Для упрощения была использована особенность документов, представленных на виртуальных выставках «Новых поступлений в фонд библиотеки»: они все представляют из себя «сканированные» файлы PDF, которые были собраны из отдельных растровых изображений, полученных при помощи книжного сканера. Таким образом, каждая страница уже содержит растровое изображение, поэтому возможно просто извлечь его, вместо того чтобы пытаться осуществить отрисовку страницы. Для извлечения изображений из отдельных страниц PDF используется библиотека iTextSharp. Файлы сохраняются во временной директории и удаляются после их успешной публикации в составе записи на стене.

Помимо изображения страниц документа пост записи должен включать в себя текст. Он состоит из трех частей:

  • Общее описание: нами была выбрана фраза «Новое издание в фонде библиотеки».
  • Библиографическое описание. Помимо информативной функции позволяет найти запись через поиск ВКонтакте. Запись может найтись, если кто-то будет искать документ по его названию или отдельные ключевые слова при поиске будут найдены в тексте библиографического описания.
  • Ссылка на сайт библиотеки. Указывает на адрес специального скрипта, отображающего библиографическую карточку на сайте библиотеки: http://www.cnshb.ru/artdoc.asp?trn=<id>. Здесь id это значение уникального идентификатора документа TRN.

PDF-файлы выставки «Новых поступлений в фонд ЦНСХБ» размещаются в сетевой папке на одном из серверов локальной сети ЦНСХБ. Файлы сохраняются с именем <ШК>.pdf, где ШК – штрих-код экземпляра документа, использовавшегося для сканирования. Зная данный идентификатор, по записям в инвентарной части базы данных каталога библиотеки возможно найти библиографическую запись, чтобы составить библиографическое описание и получить идентификатор TRN.

Информация об опубликованных записях сохраняется в таблице базы данных Автоматизированной системы аналитической росписи документов (АСАРД). Это необходимо для получения статистики, а также исключения возможности повторной публикации одной и той же записи. Данная таблица содержит следующие поля:

  • T876p – штрих-код опубликованного документа;
  • bd – идентификатор базы данных, в которой он был найден;
  • DOC_ID – идентификатор библиографического описания в базе данных;
  • VK_GROUP_ID – идентификатор группы ВКонтакте, в которой была опубликована запись;
  • VK_POST_ID – идентификатор опубликованной записи ВКонтакте;
  • VK_DATE – дата и время, в которое запись станет видна подписчикам и посетителям сообщества;
  • PDATE – дата и время, в которое запись была создана в процессе работы программы.

Таким образом, для публикации документов, поступивших на виртуальную выставку «Новых поступлений в фонд ЦНСХБ» нужно произвести следующие действия:

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

Существуют различные мнения насчет того, в какое время лучше всего публиковать новые записи ВКонтакте, чтобы их увидела максимально возможная аудитория. Одни источники считают, что это период с 10 до 15 часов [5], другие ‑ что вечером с 21:00 до 01:00 часов [6]. Мы считаем, что оптимальное время для размещения новых поступлений ЦНСХБ – дневное с 10 до 17 часов по будням и выходным.

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

Как результат исследования на языке C# платформы Microsoft .NET Framework была разработана консольная утилита для автоматической публикации новых поступлений в социальной сети ВКонтакте. Она запускается в нужное время посредством Планировщика заданий Windows.

Приложение при запуске принимает 2 аргумента: полный путь к папке, содержащей PDF-файлы новых поступлений, и второй (опциональный) – дату начала периода публикации. Если второй параметр не указан, то начало периода берется из файла конфигурации.

Помимо строк подключения к базе данных, файл конфигурации содержит следующие настройки:

  • vk_group_id – идентификатор группы ВКонтакте, в которой будут публиковаться новые поступления;
  • vk_token – ключ для доступа к API ВКонтакте;
  • period – число дней, на которое распределять публикации;
  • start_day – начальный день для публикации. Может содержать строку «Сегодня», «Завтра», название для недели или дату в формате 29.12.2021;
  • start_hour – начальный час для начала публикации, не ранее (для каждого дня);
  • end_hour – конечный час для публикации, не позднее (для каждого дня);
  • max_pages – максимальное количество страниц каждого документа (от начала), которое необходимо опубликовать в виде изображений;
  • document_url_mask – маска URL ссылки на библиографическое описание документа на сайте ЦНСХБ, должна содержать параметр {0}, в который будет подставлен TRN;
  • foreword – текст, предисловие, добавляемое перед библиографическим описанием;
  • api_timeout – задержка в милллисекундах перед каждым следующим обращением к API ВКонтакте;

Таким образом, утилита может очень гибко настраиваться.

Выводы. Итак, проведено исследование и разработана технология и программные средства – консольная утилита, позволяющие автоматически публиковать информацию о новых поступлениях в фонд библиотеки в соцсети ВКонтакте, которые используются в ФГБНУ ЦНСХБ с июля 2021 года. Публикация осуществляется в группе https://vk.com/cnshb. За это время было опубликовано более 1000 записей.

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

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

Список источников

  1. Ковалев Г. Web в Китае умер. Почему так произошло и что пришло вместо него? // Habr. URL: https://habr.com/ru/post/511708/ (дата обращения: 03.11.2021).
  2. Сергеева Ю. Вся статистика интернета и соцсетей на 2021 год — цифры и тренды в мире и в России // WebCanape / ООО «Твинс». URL: https://www.web-canape.ru/business/vsya-statistika-interneta-i-socsetej-na-2021-god-cifry-i-trendy-v-mire-i-v-rossii/(дата обращения: 03.11.2021).
  3. Сергеева Ю. Интернет и соцсети в России в 2021 году — вся статистика // WebCanape / ООО «Твинс». URL: https://www.web-canape.ru/business/internet-i-socseti-v-rossii-v-2021-godu-vsya-statistika/(дата обращения: 03.11.2021).
  4. Косикова Н.В., Гончарова В.М., Стеллецкий В.И. Мониторинг востребованности виртуальных выставок на базе Центральной научной сельскохозяйственной библиотеки // Культура: теория и практика : электрон. науч. журн. Москва, 2019. Вып. 4(31). URL: http://theoryofculture.ru/issues/108/1259/
  5. Вконтакте: лучшее время для размещения постов // Spark / ИП Барабанова Ю.Б. URL:https://spark.ru/startup/smm-blog/blog/39988/vkontakte-luchshee-vremya-dlya-razmescheniya-postov (дата обращения: 03.11.2021).
  6. Лучшее время для постинга в Telegram, ВКонтакте, Facebook, Instagram и других соцсетях в 2021 году // Cossa. URL: https://www.cossa.ru/news/280443/ (дата обращения: 03.11.2021).

References

  1. Kovalev G. Web v Kitaeumer. Pochemu tak proizoshlo i chto prishlo vmesto nego? (Web in China has died. Why has this happened and what has come its instead? // Habr. URL: https://habr.com/ru/post/511708/ (data obrashcheniya – access date: 03.11.2021).
  2. Vsya statistika interneta i sotssetei na 2021 god – tsifry i trendy v mire i Rossii (full statistics of the Internet and social media as of 2021 – digits and trends in the World and in Russia // WebCanape / ООО “Twins”. URL: https://www.web-canape.ru/business/vsya-statistika-interneta i-socsetej-na-2021-god-cifry-i-trendy-v-mire-i-v-Rossii/ (data obrashcheniya – access date: 03.11.2021).
  3. Sergeeva Yu. Internet I sotsseti v 2021 godu – vsya statistika (Internet and social media in 2021 – the full statistics) // WebCanape / ООО “Twins”. URL: https://www.web-canape.ru/business/internet-i-socseti-v-rossii-v-2021-godu-vsya-statistika/ (data obrashcheniya – access date: 03.11.2021).
  4. Kosikova N. V., Goncharova V. M., Stelletsky V. I. Monitoring vostrebovannostivirtualnykhvystavoknabazeTsentral’noinauchnoisel’skokhozyaistvennoibiblioteki // Kultura: teoriya i practika : elektron. nauch. zhurn. Moskva, 2019, Vyp. 4(31). (Monitoring of demand of virtual exhibitions based on the Central Scientific Agricultural Library// Culture: theory and practice: electron. scient. jour. Moscow, 2019, Iss. 4(31)) URL: http://theoryofculture.ru/issues/108/1259/
  5. Vkontakte: luchshee vremya dlya razmeshcheniya postov (Vkontakte: the best time for posting) // Spark / IP Barabanova Yu. B. URL: https://spark.ru/startup/smm-blog/blog/39988/vkontakte-luchshee-vremya-dlya-razmescheniya-postov (data obrashcheniya – access date: 03.11.2021).
  6. Luchshee vremya dlya postinga in Telegram, VKontakte, Facebook, Instagram i drugikh sotssetyakh v 2021 godu (The best time for posting in Telegram, VKontakte, Facebook, Instagram and other social media in 2021) // Cossa. URL: https://www.cossa.ru/news/280443/ (data obrashcheniya – access date: 03.11.2021).

Для цитирования: Комаров П.А. Автоматическое ведение страницы учреждения в социальных сетях на примере ЦНСХБ // Московский экономический журнал. 2021. № 11. URL: https://qje.su/ekonomicheskaya-teoriya/moskovskij-ekonomicheskij-zhurnal-11-2021-9/

© Комаров П.А., 2021. Московский экономический журнал, 2021, № 11.