Методы сбора данных с ПЭУ




О Т Ч Е Т

О научно-исследовательской практике

Тема задания:

Студент ______ ________________________________ группа U4170

(Фамилия И.О.)

Руководитель практики от организации: ________________________________________________________________________________________________________________________________________________________________

(Фамилия И.О., должность и место работы)

Ответственный за практику от университета: ___________________________________

(Фамилия И.О., должность)

 

 

Практика пройдена с оценкой ______________

Подписи членов комиссии

_______________(_____________)

(подпись)

_______________(_____________)

(подпись)

_______________(_____________)

(подпись)

 

Дата ____________________

Санкт-Петербург

 

Содержание

Введение. 3

Практическая часть. 4

Методы сбора данных с ПЭУ.. 4

Архитектура системы.. 5

Структура базы данных СМПЭУ.. 8

Пользовательский интерфейс СМПЭУ.. 10

Заключение. 11

 


Введение

В рамках прохождения научно-исследовательской практики выполнялось индивидуальное задание: «Проектирование программных модулей для системы мониторинга порталов электронного участия».

Система мониторинга порталов электронного участия (далее – СМПЭУ) предназначена для сбора информации по динамике голосования на порталах электронного участия и применяется для дальнейшего анализа, фильтрации, навигации и отображения данных в целях мониторинга изменения интенсивности голосования по темам и категориям.

Для ответа на вопрос, какие именно порталы будут объектами исследования и мониторинга, был проведен анализ порталов электронного участия и были выделены два типа порталов: порталы электронных петиций и площадки для подачи жалоб по поводу благоустройства города. На порталах электронных петиций граждане в основном оставляют предложения по изменению в законодательстве. Примерами таких порталов могут служить порталы «Российская общественная инициатива», «Демократия» и другие. Наряду с порталами для подачи электронных петиций существуют и порталы для подачи «жалоб» на благоустройство и городские проблемы. Примерами таких порталов служат следующие порталы: «Красивый Петербург», «Наш Санкт-Петербург», «Наш город (Москва), «РосЯма», «Сердитый гражданин» и многие другие. Все эти порталы объединяет возможность горожан подать жалобу на различные темы, касающиеся городских проблем. Некоторые порталы позволяют подать жалобы на проблемы в сфере ЖКХ, некоторые только на проблемы, связанные с городскими территориями. Создателями некоторых являются городские власти, других – волонтерские движения. В любом случае все эти порталы входят в число порталов электронного участия граждан РФ. В связи с этим возникла необходимость внести в создаваемую систему мониторинга порталов электронного участия вышеперечисленные порталы.


Практическая часть

Методы сбора данных с ПЭУ

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

Существуют различные методы сбора данных с сайтов электронного участия. Первый способ – это использовать API(application programming interface, интерфейс программирования приложений) сайта для получения информации, второй – это использование синтаксического анализа (парсинга) исходного кода страниц сайта.

АPI – это интерфейс, который позволяет с помощью специального набора команд (функций) удаленно управлять каким-либо программным обеспечением (сервисом). Иначе говоря, API – это интерфейс прикладного программирования для интеграции одного программного обеспечения с другим.

Парсинг – это синтаксический анализ сайтов, который автоматически производится парсером. Под парсером понимается скрипт или специальная программа. Характер парсинга определяется заданием получить определенную информацию со страниц сайта, параметры анализа заранее задаются. Три фазы парсинга являются логичными стадиями процесса: сначала это пунктуальный сбор информации, например, это может быть код интернет-страницы. Затем анализ данных, обработка и преобразование в нужный формат. Наконец – предоставление результата, вывод данных.

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

В марте 2014 года общественности был представлен программный интерфейс (API) для автоматизированного взаимодействия с «Российской общественной инициативой». Рассматриваемый API представляет собой набор шаблонных запросов, представленных в руководстве, ответами на которые является набор данных формата JSON. Ответ на запрос содержит элементы, характеризующие инициативу, элементы в свою очередь могут объединяться в коллекции элементов. Описание всех предоставляемых по API данных описано в руководстве.

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

Архитектура системы

Как было указано выше, при анализе порталов электронного участия были выделены 2 основных вида порталов: порталы для подачи инициатив (такие, как «Российская общественная инициатива», «Change.org) и порталы городского участия (такие, как «Красивый Петербург», «Наш Санкт-Петербург», «Сердитый гражданин» и др.). Для всех видов порталов была спроектирована единая архитектура СМПЭУ.

Общая архитектура системы приведена на рисунке 1.

 

Рис. 1 Архитектура системы мониторинга порталов электронного участия

Архитектура приложения содержит серверную и клиентскую часть. Сбор данных с сайтов электронного участия происходит одним из двух способов: с использованием API (в случае предоставления такой возможности разработчиками) или с помощью синтаксического анализа (парсинга) исходного кода страниц сайта.

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

 

Рис. 2 Архитектура модуля сбора и обработки данных системы мониторинга порталов электронного участия

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

– база данных для хранения данных о голосовании;

– php-cкрипт для сбора данных, использующий API или анализирующий сайт напрямую;

– сервер, характеристики которого определяются в зависимости от нагрузки;

– планировщик задач, который запускает php-скрипт с определенной периодичностью;

– программное обеспечение, установленное и настроенное на сервере: php, MySQL.

Для представления данных в сети Интернет используются следующие средства:

– программное обеспечение, установленное и настроенное на сервере, на котором происходит сбор данных: например, web-сервер Apache;

– внешний IP-адрес, домен или поддомен;

– php-скрипты для отображения данных через web-server клиенту;

– средства для отображения графиков (например, API Google Charts или собственные алгоритмы отображения);

– программное обеспечение, установленное на стороне клиента: веб-браузер, который поддерживает javaScript и CSS.

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


Поскольку порталы «Наш Санкт-Петербург» и «Красивый Петербург» не предоставляют на данный момент API для доступа к своим данным, потребовалось написать специальный скрипт, который будет «парсить» данные порталов и заносить полученные данные в БД. Из-за большого объема информации, собираемого скриптом в БД, планировщик задач запускается 1 раз в сутки. Планировщик задач (в нашем случае Cron) – это система для автоматического запуска программ или скриптов на сервере в определенное время.

HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов в формате HTML, в настоящий момент используется для передачи произвольных данных).

HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML. Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

На рисунке 3 приведена структура модуля сбора и обработки данных СМПЭУ для порталов, не имеющих API.

Рис.3 Структура модуля сбора и обработки данных СМПЭУ для порталов,

не имеющих API


Для осуществления сбора и обработки данных о подаваемых обращениях используются следующие технические элементы:

1) база данных для хранения информации о поданных заявлениях;

2) php-cкрипт для сбора данных, анализирующий сайт (другими словами, «парсер»);

3) планировщик задач, который запускает php-скрипт с определенной периодичностью;

4) средства для отображения графиков (например, API Google Charts или собственные алгоритмы отображения);

5) программное обеспечение, установленное на стороне клиента: веб-браузер, который поддерживает javaScript и CSS.

6) php-скрипты и html-разметка для отображения данных через web-server клиенту;

7) Непосредственно портал, который мы подключаем к СМПЭУ.

Не указанные на схеме, но участвующие в процессе сбора данных элементы:

– сервер, характеристики которого определяются в зависимости от нагрузки;

– программное обеспечение, установленное и настроенное на сервере: php, MySQL.

– программное обеспечение, установленное и настроенное на сервере, на котором происходит сбор данных: например, web-server Apache;

– внешний IP-адрес, домен или поддомен.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: