ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ...

84
ФЕДЕРАЛЬНОЕ_ГОСУДАРСТВЕННОЕ_АВТОНОМНОЕ_ОБРАЗОВАТЕЛЬНОЕ_УЧРЕЖДЕНИЕ_ВЫСШЕГО_ОБРАЗОВАНИЯ_ «БЕЛГОРОДСКИЙ_ГОСУДАРСТВЕННЫЙ_НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ_УНИВЕРСИТЕТ» (НИУ _ «БелГУ») ИНСТИТУТ_ИНЖЕНЕРНЫХ_ТЕХНОЛОГИЙ_И_ЕСТЕСТВЕННЫХ_НАУК КАФЕДРА_ИНФОРМАЦИОННЫХ_СИСТЕМ_И_РОБОТОТЕХНИЧЕСКИХ_СИСТЕМ АВТОМАТИЗАЦИЯ_ПРОЦЕССА_КРАУЛИНГА Выпускная_квалификационная_работа_студента_ очной_формы_обучения направления_подготовки_09.03.02_Информационные_системы_и_технологии 4_курса_группы_07001407 Пичугина_Никиты_Игоревича Научный_руководитель к.т.н.,_доцент_Щербинина_Н.В. БЕЛГОРОД_2018

Transcript of ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ...

Page 1: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

ФЕДЕРАЛЬНОЕ_ГОСУДАРСТВЕННОЕ_АВТОНОМНОЕ_ОБРАЗОВАТЕЛЬНОЕ_УЧРЕЖДЕНИЕ_ВЫСШЕГО_ОБРАЗОВАНИЯ_

«БЕЛГОРОДСКИЙ_ГОСУДАРСТВЕННЫЙ_НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ_УНИВЕРСИТЕТ»

( Н И У _ « Б е л Г У » )

ИНСТИТУТ_ИНЖЕНЕРНЫХ_ТЕХНОЛОГИЙ_И_ЕСТЕСТВЕННЫХ_НАУК

КАФЕДРА_ИНФОРМАЦИОННЫХ_СИСТЕМ_И_РОБОТОТЕХНИЧЕСКИХ_СИСТЕМ

АВТОМАТИЗАЦИЯ_ПРОЦЕССА_КРАУЛИНГА

Выпускная_квалификационная_работа_студента_ очной_формы_обучения

направления_подготовки_09.03.02_Информационные_системы_и_технологии 4_курса_группы_07001407

Пичугина_Никиты_Игоревича

Научный_руководитель к.т.н.,_доцент_Щербинина_Н.В.

БЕЛГОРОД_2018

Page 2: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

2

РЕФЕРАТ

Автоматизация_процесса_краулинга._–

_Пичугин_Никита_Игоревич,_выпускная_квалификационная_работа_бакалавра._–_Белгород,_Белгородский_государственный_национальный_исследовательский_университет_(НИУ_«БелГУ»),_количество_страниц_58,_включая_приложение_76,_количество_рисунков_22,_количество_таблиц_7,_количество_использованных_источников_30.

КЛЮЧЕВЫЕ_СЛОВА:_информационная_подсистема,_процесс_краулера,_техническая_оптимизация_сайта.

ОБЪЕКТ_ИССЛЕДОВАНИЯ:_процессы_технической_оптимизации_сайтов.

ПРЕДМЕТ_ИССЛЕДОВАНИЯ:_средства_краулинга_сайта.

ЦЕЛЬ_РАБОТЫ:_совершенствование_процессов_автоматизации_краулинга_сайтов.

ЗАДАЧИ_ИССЛЕДОВАНИЯ:_анализ_методов_и_средств_извлечения_и

нформации_со_сторонних_web-

сайтов;_выбор_метода_и_средств_извлечения_информации;_программная_реа

лизация_метода_извлечения_информации;_сравнение_и_тестирование_разрабо

танного_приложения.

МЕТОДЫ_ИССЛЕДОВАНИЯ:_методы_моделирования_бизнес-процессов,_методы_проектирования_информационных_систем,_оценка_окупаемости_подсистемы,_методы_технической_оптимизации_сайтов.

ПОЛУЧЕННЫЕ_РЕЗУЛЬТАТЫ:_в_результате_работы_была_спроектирована_и_реализована_информационная_подсистема_автоматизации_процесса_краулинга_для_деятельности_организации_ООО_«Продвижение».

Page 3: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ .................................................................................................................. 4

1 Аналитическая_часть ........................................................................................... 7

1.1_Технико-экономическая_характеристика_предметной_области_предприятия................ 7

1.2 Экономическая_сущность_задачи .............................................................. 10

1.3_Обоснование_необходимости_и_цели_использования_вычислительной_техники_для_решения_задачи................................................................................ 10

1.4_Постановка_задачи ......................................................................................... 17

1.5_Анализ_существующих_разработок_и_обоснование_выбора_технологии_проектирования ...................................................................................................... 20

2 Обоснование_проектных_решений .................................................................. 25

2.1_Обоснование_проектных_решений_по_техническому_обеспечению ...... 25

2.2_Обоснование_проектных_решений_по_информационному_обеспечению .................................................................................................................................. 26

2.3_Обоснование_проектных_решений_по_программному_обеспечению .... 27

2.4_Обоснование_проектных_решений_по_технологическому_обеспечению .................................................................................................................................. 29

2.5_Обоснование_выбора_программных_средств ............................................. 31

3 Проектная_часть ................................................................................................. 33

3.1_Информационное_обеспечение_задачи_информационной_подсистемы_автоматизации_процесса_краулинга ....................................................................... 33

3.2_Программное_обеспечение_задачи_информационной_подсистемы ........ 38

3.3_Технологическое_обеспечение_задачи ........................................................ 41

3.4_Описание_контрольного_примера_реализации_подсистемы .................... 42

3.5_Расчет_экономической_эффективности ....................................................... 51

ЗАКЛЮЧЕНИЕ ......................................................................................................... 60

СПИСОК_ИСПОЛЬЗОВАННЫХ_ИСТОЧНИКОВ ............................................. 62

ПРИЛОЖЕНИЕ_А .................................................................................................... 65

ПРИЛОЖЕНИЯ_Б..................................................................................................... 68

Page 4: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

4

ВВЕДЕНИЕ

Современный_сайт_на_просторах_сети_Интернет_–

_это,_прежде_всего,_источник_уникальной_и_полезной_информации._Люди_в

_сети_ищут_ответы_на_свои_повседневные_вопросы._Если_ваш_ресурс_в_сос

тоянии_дать_исчерпывающие_ответы,_то_его_популярность_не_заставит_себя

_долго_ждать.

Однако_в_основные_задачи_контента_на_сайте_входит_не_только_донес

ение_информации_до_посетителя_и_повышение_его_общей_грамотности_и_у

ровня_образованности,_но_и_для_привлечения_клиентов_или_с_целью_извлеч

ения_прибыли._Это_условие_должно_обязательно_учитываться_в_процессе_п

одготовки_контента_для_сайта.

Источники_получения_контента_подразделяются_на_заимствованные_и_

оригинальные._Но,_несмотря_на_то,_что_сторонний_используемый_материал_

имеет_много_недостатков,_с_точки_зрения_поискового_продвижения,_больши

нство_web-сайтов_используют_данный_подход_к_своему_содержимому.

Самые_грубые_ошибки,_которые_происходят_при_создании_web-

сайтов_–

_это_технические._Такие_ошибки_могут_быть_выявлены_только_определённ

ыми_методами_или_краулерами_сайтов._Не_все_ИТ_специалисты_имеют_опы

т_в_выявление_такого_вида_ошибок,_поэтому_для_упрощение_выявлении_их

_разработали_краулер_способный_выявлять_и_перебирать_страницы_сайтов._

Однако_не_один_из_разработанных_на_данный_момент_краулеров_не_может_

производить_анализ_сайта_и_выводить_отчет,_а_также_они_являются_платны

ми._Поэтому_на_данный_момент_актуальность_разработки_данной_подсистем

ы_является_очень_актуальным.

Page 5: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

5

Целью_выпускной_квалификационной_работы_является_оптимизация_w

eb-сайтов_за_счет_автоматизации_процесса_краулинга._

Объектом_исследования_является_техническая_оптимизация_сайта._В_к

ачестве_предмета_исследования_рассматривается_средства_краулеров_сайтов.

Для_достижения_поставленной_цели_были_определены_следующие_зад

ачи:

− анализ_методов_и_средств_извлечения_информации_со_сторонних

_web-сайтов;

− выбор_метода_и_средств_извлечения_информации;

− программная_реализация_метода_извлечения_информации;

− сравнение_и_тестирование_разработанного_приложения.

Выпускная_квалификационная_работа_состоит_из_трех_частей,_реализу

ющие_поставленные_задачи.

В_первой_главе_описаны_теоретические_обоснования_усовершенствован

ия_деятельности_специалиста_по_поисковому_продвижению,_подробно_описа

на_характеристика_деятельности_и_организационная_структура_управления_

ООО_«Продвижения»._

Вторая_глава_содержит_обоснование_проектных_решений_по_техническ

ому,_информационному,_программному_и_технологическому_обеспечению_за

дачи_по_автоматизации_процесса_краулинга.

В_третьей_главе_описан_процесс_проектирования_и_разработки_инфор

мационной_подсистемы_автоматизации_процесса_краулинга_для_деятельно

сти_организации,_представлены_результаты_работы_информационной_подс

истемы_и_рассчитана_экономическая_эффективность.

В_результате_выполнения_выпускной_квалификационной_работы_разра

ботана_информационная_подсистема_автоматизации_процесса_краулинга_для

_деятельности_организации_ООО_«Продвижение».

Page 6: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

6

Данная_работа_состоит_из_страницы,_42_рисунка,_7_таблиц,_33_литера

турных_источников_и_2_приложений.

_

Page 7: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

7

1 Аналитическая_часть

1.1_Технико-

экономическая_характеристика_предметной_области_предприятия

1.1.1_Характеристика_предприятия

Компания_«Продвижение»_занимает_первое_место_среди_компаний_по

_разработке,_продвижение_сайтов_и_настройки_контекстной_рекламы_в_Белг

ороде.

Организационно-правовая_форма_предприятия_–

_общество_с_ограниченной_ответственностью.

Во_главе_предприятия_стоит_генеральный_директор,_руководящий_все

ми_отделами_и_финансово-

экономической_деятельностью._Управление_предприятием_осуществляется_в

_соответствии_с_законодательством_РФ_и_уставом_предприятия._Численност

ь_сотрудников_ООО_«Продвижения»_составляет_15_человек.

К_основному_виду_текущей_деятельности_организации_настройка_конт

екстной_рекламы_в_Яндексе_Директе_и_в_Google_Adwords,_разработка_прод

ающих_и_оптимизированных_сайтов_для_максимальной_эффективности_инте

рнет-

маркетинга._К_ряду_основных_деятельностей_большую_часть_занимает_SEO

_продвижение.

ООО_«Продвижение»_располагается_в_городе_Белгород.

1.1.2_Характеристика_организационной_структуры_управления_ООО_«

Продвижение»

Page 8: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

8

Под_организационной_структурой_управления_предприятием_понимает

ся_состав_(перечень)_отделов,_служб,_подразделений_в_аппарате_управления

_предприятием,_характер_соподчиненности,_взаимодействия,_координационн

ые_и_информационные_связи,_порядок_распределения_функций_управления_

по_различным_уровням_и_подразделениям_[2].

ООО_«Продвижение»_имеет_линейно-

функциональную_организационную_структуру_управления_предприятием.

Линейно-

функциональная_структура_управления_характеризуется_тем,_что_во_главе_к

аждого_структурного_подразделения_стоит_руководитель,_осуществляющий_

все_функции_управления_и_руководство_подчиненными_работниками,_а_им_

оказывают_помощь_функциональные_органы.

Структура_управления_организацией_ООО_«Продвижения»_представле

на_на_рисунке_1.1.

Рисунок_1.1_–_Структура_управления_ООО_«Продвижение»

Суть_линейно-

функциональной_организационной_структуры_управления_состоит_в_том,_чт

о_выполнение_отдельных_функций_по_конкретным_вопросам_возлагается_на

_специалистов.

Page 9: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

9

Элементами_структуры_являются_отдельные_работники_и_службы_апп

арата_управления,_отношения_между_ними_поддерживаются_благодаря_связя

м,_которые_носят_линейный_и_функциональный_характер.

Линейные_звенья_принимают_решения,_а_функциональные_подразделе

ния_информируют_и_осуществляют_вопросы_и_подготовку_соответствующи

х_решений,_освобождают_линейных_руководителей_от_планирования,_финан

совых_расчетов,_программ,_необходимых_планов_для_принятия_решений.

Линейно-

функциональная_структура_управления_имеет_следующий_ряд_преимуществ:

_

¯ быстрое_осуществление_действий_по_распоряжениям_и_указаниям,_о

тдающимся_вышестоящими_руководителями_нижестоящим;

¯ рациональное_сочетание_линейных_и_функциональных_взаимосвязей,

_стабильность_полномочий_и_ответственности_за_персоналом,

¯ единство_и_четкость_распорядительства;_

¯ более_высокая_оперативность_принятия_и_выполнения_решений;_

¯ личная_ответственность_каждого_руководителя_за_результаты_деятел

ьности;

¯ профессиональное_решение_задач_специалистами_функциональных_с

лужб.

Основные_проблемы_краулеров_является_скорость_парсинга_и_хранени

я_просканированной_информации._В_большинстве_сайтов_стоит_блокировка

_на_парсинг_страниц,_поскольку_это_создает_большую_нагрузку_на_сервер_

и_на_сам_сайт._Нормой_парсинга_страниц_–_это_5-

6_ссылок_в_секунду,_но_на_некоторых_сайтов_возможно_еще_меньше,_поск

ольку_есть_вероятность_блокированием_системой_управления_сайтом._С_хра

нением_просканированных_данных_стоит_сложнее_цель,_на_данный_момент

Page 10: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

10

_все_существующие_краулеры_хранят_все_данные_в_ОЗУ,_даже_при_сохран

ении_данных_на_диск_они_все-

равно_при_запуске_помещаются_в_оперативную_память,_что_затрачивает_бо

льшие_ее_объемы,_в_среднем_на_120000_ссылок_необходимо_4гб_ОЗУ.

1.2 Экономическая_сущность_задачи

Целью_выпускной_квалификационной_работы_является_автоматизация_

процесса_краулинга_в_компании_ООО_«Продвижение».

Разрабатываемая_подсистема_позволит_упростить_процессы_техническо

й_оптимизации_сайтов,_путем_сканирования_и_представление_в_виде_отчета

_о_результатах.

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

атизация_процесса_краулинга_для_анализа_контента_сайта_в_виде_подсистем

ы,_которая_позволит_устранить_недостатки_традиционного_анализа_контента

_сайта.

Для_решения_поставленной_цели_можно_выделить_следующие_задачи:

¯ анализ_деятельности_seo-специалиста_по_технической_оптимизации;

¯ изучение_процессов_и_технологий_существующих_программных_сре

дств_автоматизации_процесса_краулинга_с_целью_выделения_основных_фун

кциональных_возможностей_системы;

¯ усовершенствование_процесса_автоматизации_процесса_деятельности

_организации_с_использованием_информационной_подсистемы.

1.3_Обоснование_необходимости_и_цели_использования_вычислительно

й_техники_для_решения_задачи_

Для_проектирования_информационной_подсистемы_автоматизации_про

цесса_краулинага_для_деятельности_ООО_«Продвижение»_изучены_выполня

Page 11: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

11

емые_функции_seo-

специалиста_и_рассмотрен_процесс_технической_оптимизации_сайтов.

Основной_задачей_seo-

специалиста_является_анализ_оптимизирующего_сайта_на_различные_технич

еские_ошибки,_после_его_разработки.

Контекстная_диаграмма_seo-оптимизации_сайта_1.2

Рисунок_1.2_–_Контекстная_диаграмма_seo-

оптимизации_коммерческого_сайта

Все_проекты_по_поисковому_продвижению_сайта_регулируются_догов

ором_на_услуги_продвижения,_составленным_ранее_аккаунт-

менеджером,_актуальными_методиками,_и_составленными_чек-листами.

USED AT: AUTHOR: N ikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

TOP

NODE: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A-0

Страший

SEO-специалист

Младший

SEO-специалист

Текст

заданияОптимизированный

сайт

Договор

на

услуги

Чек-листыАктуальные

методики

оптимизации

Система

управления

проектами

00 ?

SEO-оптимизация коммерческого сайта

Page 12: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

12

Управление_распределением_информационных_потоков_осуществляется

_сотрудниками_организации_и_вспомогательными_системами_управления_пр

оектами._Старший_seo-

специалист_отвечает_за_организацию,_координацию,_руководство,_контроль_

и_реализацию_работ_по_поисковому_продвижению._Младший_seo-

специалист_подчиняется_и_выполняет_задания_и_поручения_старшего_seo-

специалиста_организации,_а_также_взаимодействует_с_базовыми_или_технич

ескими_задачами.[1]

Входными_потоками_фирмы_являются_данные,_необходимые_для_орга

низации_для_правильной_постановки_задачи_и_выполнения._К_таким_данны

м_относятся_текст_задания,_в_котором_согласованы_разделы_или_запросы,_к

оторые_необходимо_продвинуть_по_поисковым_системам,_информационно-

справочная_информация_об_организациях.

Page 13: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

13

Декомпозиция_процесса_seo-

оптимизации_коммерческого_сайта_представлена_на_рисунке_1.3.

Рисунок_1.3_–_Декомпозиция_контекстной_диаграммы

В_процессе_продвижения_сайта_в_поисковых_системах_разделяется_на

_4_сущности._Запуск_проекта_проставить_базовые_чек-

листы_для_проверки_сайта_на_способность_ранжирования_в_поисковых_сист

емах._Техническая_оптимизация_выявляет_ошибки_допущены_разработчикам

и_в_процессе_разработки_сайта._Сбор_семантического_ядра_позволяет_проан

ализировать_весь_охват_аудитории_и_спрос_на_определённую_услугу_или_то

вар._Анализ_конкуренции_позволяет_выявить_упущенные_и_недостающие_ре

шения_для_повышения_конверсии_и_привлечения_клиентов_на_сайт.[1]

Декомпозиция_процесса_«Техническая_оптимизация»_представлена_на_рисунке_1.4.

USED AT: AUTHOR: Nikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

W ORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A-0

NODE: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A0

Страший

SEO-специалист

Договор на

услуги

Актуальные методики

оптимизацииЧек-листы

Младший

SEO-специалист

Текст

задания

Оптимизированный

сайт

Поставленные

задачи

Базово

опмитимизированный

сайт

Технический

оптимзированный

сайт

Технически и

семантически

проработанный

сайт

Система

управления

проектами

10 ?

Запуск проекта

20 ?

Базовая оптимизация

30 ?

Техническая оптимизация

40 ?

Анализ конкуренции

50 ?

Сбор схематического ядра

Page 14: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

14

Рисунок_1.4_–_Декомпозиция_процесса_«Техническая_оптимизация»_

Первым_шагом_технической_оптимизации_сайта_является_анализ_внеш

них_ссылок_на_сайте,_в_результате_которого_осуществляется_проверка_и_за

крытия_ссылок._После_первичной_обработки_выполняется_краулинг_сайта_с

_целью_последующего_распределения_задач_на_исправление_технических_о

шибок,_допущенных_при_разработке._Одним_из_базовых_технических_ошиб

ок_является_наличие_дублей_страниц_сайта,_которые_закрываются_от_поиск

овых_систем._Последним_этапом_является_удаление_404_ошибок_на_сайте._[

3]_

Организация_и_технология_процесса_краулинга_в_digital-

agency_ООО_«Продвижение»_осуществляется_seo-

NOTES: 1 2 3 4 5 6 7 8 9 10

DRAFT

RECOMMENDED

PUBLICATION A0

NODE: TITLE: NUMBER:Техническая оптимизация

A3

Актуальные

методики

оптимизации

Младший

SEO-специалист

Чек-листы

Страший

SEO-специалист

Технический

оптимзированный

сайт

Базово

опмитимизированный

сайт Сайт с

оптимизированными

внешними ссылками

Просканированный

сайт

Сайт с

закрытыми

дублями

Система

управления

проектами

10 ?

Анализ и закрытие в нешних ссылок

20 ?

Краулинг сайта

30 ?

Закрытие дублей страниц

40 ?

Удаление 404 ссылок

Page 15: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

15

оптимизатором_вручную_или_платными_программными_приложениями_и_об

ладает_следующими_характеристиками:

¯ написание_отчетов_о_сделанном_аудите_сайта;

¯ анализ_и_выявления_технических_ошибок,_

¯ отсутствуют_средства_представления_информации_в_ввиду_графиков

;

¯ отсутствуют_бесплатные_программные_средства_для_быстрой_провер

ки_и_аудита_сайта;

Совершенно_очевидно,_что_традиционная_схема_проверки_технических

_ошибок_сайта_не_способна_выявить_быстрое_решение._В_деятельности_раз

личных_организаций_при_ведении_экспресс-

аудита_сайта_или_выявление_технических_ошибок,_как_правило,_через_неко

торое_время_возникают_следующие_проблемы:

¯ бесплатное_использование_дополнительного_программного_обеспече

ния_для_автоматизации_процесса_краулинга;

¯ невозможность_обеспечить_быструю_передачу_входящих_документов

_и_информации;

¯ большие_затраты_времени_на_подготовку_и_согласование_отчетов;

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

боты_специалиста_по_поисковому_продвижение_позволяют_сделать_вывод_о

_необходимости_разработки_информационной_подсистемы_с_целью_обеспече

ния_повышения_оперативности_и_качества_работы_с_отчетами_о_аудитах_и_

предоставление_бесплатного_использования_программного_обеспечения_для_

автоматизирования_процесса_краулинга.

Page 16: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

16

Page 17: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

17

1.4_Постановка_задачи

1.4.1_Цель_и_назначение_автоматизированного_варианта_решения_задачи

К_автоматизированным_информационным_подсистемам_относится_упо

рядоченная_совокупность_экономико-

математических_методов_и_моделей,_технических_и_программных_средств,_

организованных_на_базе_новой_информационной_технологии_в_решении_тех

нических_задач_seo-специалистов.

Цель_создания_информационной_подсистемы_процесса_краулинга_конт

ента_сайта_является_обеспечение_повышения_качества_страниц,_при_оптими

зации,_а_также_нахождение_всех_технический_ошибок,_сокращение_сроков_

прохождения_аналитики,_формирование_отчетности_для_аккаунт-

менеджеров.

Информационная_подсистема_процесса_краулинга_направлена_на_упор

ядочение_работы_со_страницами_сайта_и_обеспечение_следующих_функцион

альных_возможностей:

− сканирование_всех_ссылок_сайта;

− проверка_ответа_сервера;

− сканирование_мета-тегов_сайта;

− проверка_на_дубли_страниц;

− анализ_контента_сайта;

− получение_отчетности_результатов_анализа_сайта;

− результат_выводит_в_виде_диаграмм;

− реализация_поиска_страниц_и_мета-

тегов_просканированных_страниц_сайта.

Таким_образом,_для_повышения_уровня_эффективности_технической_о

птимизации_ООО_«Продвижения»_необходимо_создать_профессионально_сп

Page 18: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

18

роектированную_и_выполненную_подсистему_сканирования_сайта_на_провер

ку_технические_ошибки_сайтов.

1.4.2_Общая_характеристика_организации_решения_задачи_на_ЭВМ

Автоматизация_процессов_краулинга_основывается_на_технологии_«кл

иент-сервер»._Принцип_технологии_«клиент-

сервер»_состоит_в_распределении_функций_стандартного_интерактивного_пр

иложения_на_группы:

− презентационная_логика_–_функции_ввода_и_отображения_данных;

− бизнес-логика_–

_прикладные_функции,_определяющие_основные_алгоритмы_решения_

задач_приложения;

− процессор_управления_данными_–

_функции_хранения_и_управления_информационными_ресурсами;

− логика_обработки_данных_–

_функции_обработки_данных_внутри_приложения;

− служебные_функции,_играющие_роль_связок_между_функциями_первы

х_четырех.

Хранилище_данных_и_файлы_сервера_находятся_на_стационарном_выд

еленном_компьютере,_выполняющим_функцию_сервера_баз_данных,_которы

й_управляет_данными_и_выполняет_запросы_клиентских_приложений._Клиен

тские_приложения_предоставляют_интерфейс._Приложения_должны_быть_ус

тановлены_на_персональные_компьютеры_с_доступом_к_сети_интернет._

Методика_разработки_подсистемы_включает_в_себя_выполнение_следу

ющих_этапов:

− изучение_деятельности_seo-специалиста_ООО_«Продвижения»;

Page 19: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

19

− выявление_необходимых_функций_подсистемы_для_автоматизаци

и_организации_процесса_краулинга_и_выявление_на_технические

_ошибки;

− проектирование_и_анализ_функциональных_диаграмм;

− проектирование_подсистемы_анализа_страницы_сайта;

− разработка_информационной_подсистемы.

Для_результативного_решения_поставленной_задачи_необходимо_соотв

етствующее_техническое_обеспечение._Под_техническим_обеспечением_пони

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

имых_для_выполнения_информационных_процедур:_сбора,_регистрации,_пер

едачи,_хранения,_обработки_и_использования_информации_[5].

Техническое_обеспечение_данного_проекта_имеет_в_своем_составе_ЭВ

М,_монитор,_манипулятор_типа_мышь,_клавиатуру.

При_выборе_ЭВМ_следует_руководствоваться_рядом_характеристик._К

_основным_характеристикам_вычислительной_техники_относят_эксплуатацио

нно-

технические_характеристики:_объем_памяти,_надежность,_стоимость,_быстро

действие,_точность_вычислений._Существенное_значение_имеют_и_другие_х

арактеристики,_такие_как:_программная_совместимость,_универсальность,_га

бариты,_вес_и_энергопотребление._Именно_от_этих_значений_перечисленных

_параметров_ЭВМ_зависит_возможность_работы_с_необходимым_программн

ым_обеспечением.

Для_решения_задач_обработки_данных_наиболее_подходят_ПЭВМ,_кот

орые_характеризуются_относительно_невысокой_стоимостью,_легко_конфигу

рируемыми,_обладают_простой_системой_обучения,_хорошей_производитель

ностью_и_походящими_характеристиками_надежности,_и_объемом_памяти._

Чтобы_реализовать_комплекс_поставленных_задач,_при_выборе_ПЭВМ

_необходимо_учитывать_тактовую_частота_процессора,_объем_и_скорость_ра

Page 20: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

20

боты_жесткого_диска,_объем_оперативной_памяти,_наличие_периферийных_у

стройств_и_другие_технические_характеристики._

Значительными_требованием_к_информационному_обеспечению_служи

т_уровень_хранения_данных_в_подсистеме,_построенный_на_основе_совреме

нной_реляционной_СУБД._Для_обеспечения_целостности_данных_должны_и

спользоваться_встроенные_механизмы_СУБД._Средства_операционной_систе

мы_и_СУБД_должны_обеспечивать_документирование_и_протоколирование_

обрабатываемой_в_системе_информации._

Для_решения_поставленной_задачи_подходит_диалоговый_режим_взаи

модействия_пользователя_с_вычислительной_системой,_который_обеспечивае

т_возможность_оперативного_вмешательства_пользователя_в_процесс_обрабо

тки_данных._Диалоговый_режим_характеризуется_отсутствием_жестко_закре

пленной_последовательности_операций_обработки_данных._

Важными_критериями_при_разработке_подсистемы_автоматизации_про

цесса_краулинга_является_структура_и_функциональность_разрабатываемой_

системы,_а_также_предоставление_хранимой_информации_базы_данных_в_об

ъективной_форме.

1.5_Анализ_существующих_разработок_и_обоснование_выбора_техноло

гии_проектирования

В_последние_годы_алгоритмы_поисковых_систем_стали_намного_эффе

ктивнее_различать_и_находить_ошибки,_допущенные_в_результате_разработк

и_или_оптимизирования_сайта._Существует_несколько_программных_разрабо

ток_систем_автоматизирования_процесса_краулинга_и_анализа_контента_сайт

а_на_технические_ошибки_сайта,_которые_похоже_между_собой._Для_выявл

ения_функциональных_решений_подсистемы_необходимо_проанализировать_

существующие_программные_средства._

Для_анализа_и_оценки_программных_средств_выделили_критерии:_

Page 21: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

21

а) функциональные_возможности_(от_1_до_5_баллов);

б) открытость_(1_балл_–_нет,_5_баллов_–_есть);

в) свободная_лицензия_(1_балл_–_нет,_5_баллов_–_есть);

г) простота_внедрения_и_использования_(от_1_до_5_баллов);

д) масштабируемость_(от_1_до_5_баллов).

Система_автоматизирования_процесса_краулинга_–

_программный_комплекс,_который_обеспечивает_процесс_сканирование_сайт

а,_выявление_технических_ошибок_сайта,_а_также_контроль_просканированн

ых_документов_сайта.

Наиболее_распространенными_для_малых_предприятий_являются_Screa

ming_Frog_Seo_Spider,_Comparser_и_Xenus_Link_Sleuth.

Первой_отечественной_системой_автоматизации_документооборота_явл

яется_система_«Screaming_Frog_Seo_Spider»,_разработанная_командой_разраб

отчиков._Система_ориентирована_на_полное_автоматизирование_процесса_кр

аулинга,_анализа_всего_контента_сайта_на_технические_ошибки,_поддержку_

других_известных_сервисов_для_аналитики_и_выявлений_проблем_сайта.

Система_«Comparser»_-

_также_является_автоматизирующей_системой_краулинга,_с_выявлением_раз

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

щих_подойти_к_решению_технических_ошибок_другими_методами._Создал_

данное_приложение_один_российский_разработчик_Александр_Алаев.

Xenus_Link_Sleuth_–

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

перечисленных_ранее._Изначально_программа_являлась_приложением_провер

яющая_веб-

сайты_на_битые_ссылки._Все_что_являлось_ссылкой_на_сайте_сканировалось

_и_в_дальнейшем_могло_быть_отсортировано_и_выгружено_в_формат_CSV._

В_дальнейшем_компания_Lick_Sleuth_выпустили_обновление_позволяющая_с

Page 22: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

22

мотреть_не_только_ссылки,_но_искать_страницы_с_большой_отдачей_времен

и,_создавать_карту_сайта_и.т.д._

Сравнительная_характеристика_программных_средств_представлена_в_т

аблице_1.1.

Таблица_1.1_–_Сравнительная_характеристика_программных_средств_

Критерий_оценки Название_СЭД Screaming_Frog_Seo_

Spider Compar

ser Xenus_Link_Sl

euth Функциональные_возможност

и 5 4 3

Открытость 4 2 4 Свободная_лицензия 4 3 3

Простота_внедрения_и_использования

4 4 2

Масштабируемость 4 3 1 Сумма 21 16 13

Процесс_краулига_предполагает_учет_больших_объемов_информации,_

хранение_и_обработку_входящей,_внутренней_и_исходящих_мета-

данных,_проверку_на_технический_ошибки,_что_обуславливает_широкое_при

менение_программ._Все_описанные_выше_системы_автоматизирование_проце

сса_краулига_являются_очень_крупными_и_слишком_универсальными.

Отличиями_разрабатываемой_подсистемы_от_других_систем_автоматиз

ации_процесса_краулинга_являются_функциональные_возможности,_спроекти

рованные_под_деятельность_организации,_масштабируемость_и_бесплатное_с

опровождение._Подсистема_проста_во_внедрении_и_использовании,_не_потр

ебует_дополнительного_обучения.

Технология_проектирования_ИС_представляет_собой_совокупность_мет

одов_и_средств_проектирования_ИС,_а_также_организации_и_управления,_вн

едрения_и_модернизации_системы.

Проектирование_ИС_охватывает_три_основные_области:

Page 23: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

23

− проектирование_объектов_данных,_которые_будут_реализованы_в

_базе_данных;

− проектирование_программ,_экранных_форм,_отчетов,_которые_бу

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

− учет_конкретной_среды_или_технологии,_а_именно:_топологии_с

ети,_конфигурации_аппаратных_средств,_используемой_архитекту

ры,_параллельной_обработки,_распределенной_обработки_данных.

Существуют_разные_модели_жизненного_цикла:_каскадная,_итерационн

ая,_спиральная._Все_они_включают_одинаковые_стадии,_но_различаются_пос

ледовательностью_перемещения_от_стадии_к_стадии._К_данным_стадиям_от

носятся:_формирование_требований_к_системе,_проектирование,_реализация,

_тестирование,_эксплуатация.

Для_проектирования_подсистемы_автоматизации_процесса_круалинга_в

ыбрана_V-

образная_модель,_которая_позволяет_сконцентрировать_внимание_на_провер

ке_результатов_разработки,_точно_спланировать_свойства_программного_обе

спечения_на_различных_этапах_проектирования.

На_рисунке_1.7_представлен_жизненный_цикл_V-образной_модели.

Рисунок_1.5_–_Жизненный_цикл_V-образной_модели

Page 24: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

24

V-

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

имуществ:

− планирование_действий_происходит_с_ранних_стадий_разработки;

− упрощение_отслеживания_хода_процесса_разработки,_так_как_зав

ершение_каждой_фазы_является_контрольной_точкой;

− обеспечение_аттестации_и_верификации_не_только_программного

_продукта,_но_и_всех_полученных_внутренних_и_внешних_данн

ых.

Вывод_по_первому_разделу

В_разделе_рассмотрена_организационная_структура_управления_ООО_«

Продвижение»_и_характеристика_его_видов_деятельности,_произведен_сбор_

необходимой_информации_о_деятельности_seo-

специалиста_ООО_«Продвижение»,_построена_контекстная_диаграмма_орган

изации,_выявлены_цели_и_функциональное_назначение_разрабатываемой_под

системы,_необходимые_для_обеспечения_повышения_оперативности_и_качес

тва_работы_технической_оптимизации_сайта,_а_также_выбрана_технология_п

роектирования_подсистемы.

Page 25: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

25

2 Обоснование_проектных_решений

2.1_Обоснование_проектных_решений_по_техническому_обеспечению

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

ных_и_взаимодействующих_технических_средств_(ТС),_предназначенных_для

_автоматизированной_обработки_данных,_а_также_включает_методические_м

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

х_средств_[6].

Одной_из_важнейших_компонентов_информационной_системы_являетс

я_комплекс_технических_средств_(КТС),_состоящий_из_средств_подготовки,_

регистрации,_сбора,_передачи,_хранения,_обработки,_вывода_и_воспроизведе

ния_информации.

Технические_средства_должны_соответствовать_следующим_требовани

ям:

− быть_информационно_совместимыми_между_собой_и_обслужива

ющим_персоналом;

− структура_КТС_должна_соответствовать_структуре_управления_о

бъектом,_обеспечивая_автоматизированное_управление_выполняе

мых_функций;

− для_обеспечения_быстрого_решения_задач_ТС_должны_быть_кач

ественной_конструкции,_иметь_удобный_интерфейс_для_работы_

пользователя;

− должен_выполняться_принцип_экономичности_выбора_и_использ

ования_ТС.

Необходимое_для_функционирования_информационной_подсистемы_ав

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

изации._Конфигурация_компьютера_с_частотой_процессора_не_менее_1,6_Гг

Page 26: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

26

ц,_жестким_диском_от_120Гб_и_объемом_оперативной_памяти_не_менее_4Гб

._Для_одновременной_работы_пользователей_подсистемы_организация_имеет

_локальную_корпоративную_сеть_на_основе_сервера_и_принтер_для_вывода_

информации.

2.2_Обоснование_проектных_решений_по_информационному_обеспечен

ию

Информационное_обеспечение_(ИО)_–

_важнейшая_обеспечивающая_подсистема_автоматизированной_информацион

ной_системы,_предназначенная_для_снабжения_пользователей_информацией,

_характеризующей_состояние_управляемого_объекта_и_являющейся_основой

_для_принятия_управленческих_решений._ИО_представляет_собой_определен

ную_совокупность_средств_и_методов_построения_информационной_системы

_экономического_объекта_[7].

Главным_принципом_создания_ИС_является_решение_задачи_удовлетв

орения_информационных_потребностей_пользователя_и_системы_управления

_объектом.

Создание_ИО_проходит_следующие_этапы:

− исследование_информационных_потоков;

− разработка_системы_классификации_и_кодирования;

− разработка_унифицированных_форм_представления_данных_в_ин

формационной_базе;

− накопление_массивов_данных_и_работа_с_ними.

ИО_определяет_размещение_формы_организации_информации_в_систе

ме,_представляя_собой_совокупность_методов_и_средств_построения_и_реал

изации_информационной_базы.

Проектные_решения_по_информационному_обеспечению_обосновываю

тся_с_точки_зрения_внешнего_и_внутримашинного_обеспечения.

Page 27: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

27

Внешнее_(немашинное)_ИО_учитывает_принципы_автоматизации_инфо

рмационных_процессов_и_состоит_из_системы_классификации_и_кодировани

я,_нормативно-

справочных_документов,_оперативных_документов,_методических_и_инструк

тивных_материалов._В_соответствии_с_организационной_структурой_управле

ния_осуществляется_движение_этих_документов.

Внутримашинное_ИО_включает_информационные_массивы,_составляю

щие_информационную_базу_системы_и_пакеты_программ.

ИО_реализуется_в_виде_банков_данных_и_банков_знаний,_в_основе_по

строения_которых_лежат_модели_накопления_данных_и_представления_знан

ий._Эти_процессы_должны_быть_формализованы_на_концептуальном_и_логи

ческом_уровнях.

2.3_Обоснование_проектных_решений_по_программному_обеспечению

Программное_обеспечение_(ПО)_–

_совокупность_программных_средств,_выполненных_вычислительной_систем

ой_и_обеспечивающих_работу_комплекса_её_технических_средств,_реализаци

ю_целей_и_задач_информационной_системы_[7].

Состав_программного_обеспечения_показан_на_рисунке_2.1.

Рисунок_2.1_–_Состав_программного_обеспечения

Page 28: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

28

К_выбираемому_программному_обеспечению_в_данном_случае_относит

ся_среда_программирования_и_программы_функционального_назначения.

Основным_назначение_ОС_является_осуществление_вычислительного_п

роцесса_в_вычислительной_системе,_рациональное_управление_данными,_зад

аниями,_задачами,_процессами_и_распределение_вычислительных_ресурсов_

между_решаемыми_задачами,_а_также_обеспечение_связи_человека_с_компь

ютером.

Операционная_система_–

_комплекс_системных_и_управляющих_программ,_обеспечивающих_управлен

ие_аппаратными_средствами_компьютера_и_предназначенных_для_эффективн

ого_использования_всех_ресурсов_вычислительной_системы_[8].

Автоматизация_задачи_предполагается_на_операционной_системе_Micro

soft_Windows,_так_как_она_установлена_в_качестве_рабочей_станции_органи

зации.

Пакеты_прикладных_программ_представляют_собой_совокупность_прог

рамм,_совместимых_между_собой_и_обеспечивающих_решение_задач_из_обл

асти_знаний_пакета._Могут_быть_программы_общего_назначения_и_програм

мы_функционального_назначения_[7].

К_программам_общего_назначения_можно_отнести_системы_программи

рования_на_языках_высокого_уровня,_систему_управления_базами_данных_(

СУБД),_программы-

редактора_текстов,_изображений,_издательские_системы._Они_реализуют_тип

овые_режимы_работы_вычислительной_системы.

Предпочтение_для_разработки_клиентской_части_информационной_под

системы_автоматизации_процесса_краулинга_было_отдано_изученной_в_проц

ессе_обучения_в_университете_системе_объектно-

ориентированного_программирования_JavaFX,_которая_представляет_собой_и

нструмент_быстрой_разработки_приложений_и_интегрированную_среду_прог

Page 29: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

29

раммирования._Интегрированная_среда_программирования_обеспечивает_выс

окую_скорость_визуальной_разработки,_позволяет_эффективно_использовать_

компоненты,_улучшенные_инструментами_и_разномасштабными_средствами_

доступа_к_базе_данных.

2.4_Обоснование_проектных_решений_по_технологическому_обеспечен

ию Технологический_процесс_обработки_данных_–

_комплекс_технических_средств,_предназначенный_для_работы_информацион

ной_системы,_а_также_соответствующая_документация_на_эти_средства_и_те

хнологические_процессы_[9].

Технологический_процесс_реализуется_различными_инструментальным

и_средствами_и_определенными_методами_сбора,_обработки_и_передачи_рез

ультативной_информации_пользователю_для_выполнения_функций_управлен

ия.

Под_технологической_операцией_понимается_законченная_заключитель

ная_часть_операции,_обеспечивающая_условия_для_начала_следующей_техно

логической_операции.

По_цели_и_месту_выполнения_технологический_процесс_можно_раздел

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

нными_с_их_реализацией_и_распределением_ошибок,_вносимых_в_технологи

ческий_процесс.

Первый_класс_операций_характеризуется_получением_первичной_инфо

рмации,_отражающей_содержание_процессов_обработки_документации_орган

изации._А_именно_к_таким_операциям_относится_получение_количественной

_характеристики_показателей,_регистрация_и_сбор_первичной_информации._

Page 30: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

30

Операции_этого_класса_наиболее_трудоемкие_(трудовые_затраты_на_выполн

ение_операций_составляю_до_50%_процентов_всех_работ),_дорогостоящие_и

_дающие_наибольший_процент_ошибок_в_получаемых_данных.

Целью_второго_класса_операций_служит_ввод_данных_в_ЭВМ_и_загру

зка_данных_в_информационную_базу._В_состав_класса_входят_операции_при

ема,_ввода_данных,_контроля_ошибок,_загрузка_данных_в_информационную

_базу_и_ведение_информационной_базы._Операции_отличаются_высокой_тру

доемкостью_и_множеством_ошибок.

Операции_третьего_класса_предназначены_для_выполнения_обработки_

данных_базы_по_алгоритмам_и_получение_результативной_информации._Опе

рации_этого_класса_характеризуются_наибольшей_степенью_автоматизации_

процессов,_наименьшей_трудоемкостью_и_наименьшим_количеством_допуск

аемых_ошибок.

Четвертый_класс_технологических_операций_имеют_целью_обеспечени

е_достоверности_и_получение_определенных_отчетов_по_документам,_подле

жащих_группировке_по_определенным_ключевым_признакам_и_анализ_полу

ченных_данных_с_последующей_распечаткой_отчетных_документов._К_осно

вным_операциям_относятся_анализ_и_контроль_полученных_результатов,_вы

явление_и_исправление_ошибок_по_причине_неправильности_введенных_исх

одных_данных,_сбоев_в_работе_машины,_ошибок_пользователя_оператора_и

ли_программиста.

Недостатки_технической_оптимизации_будут_устранены_с_внедрением

_разрабатываемой_информационной_подсистемы_автоматизации_процесса_кр

аулинга._В_подсистеме_вся_информация_о_входящих,_внутренних_и_исходя

щих_данных_будет_расположена_в_единой_информационной_базе._Подсисте

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

вать_код_ответа_сервера,_упрощение_сбора_мета-

тегов_и_анализа_полученной_обработанной_информации_в_виде_отчетных_ф

орм._Все_перечисленное_позволит_сократить_и_упростить_процесс_техничес

Page 31: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

31

кой_оптимизации_сайта,_снизится_время_анализа_оптимизации,_тем_самым_

увеличивается_производительность_работы_seo-специалиста.

2.5_Обоснование_выбора_программных_средств

При_создании_и_проектировании_информационной_подсистемы_автом

атизации_процесса_краулинга_предполагается_использование_следующих_тех

нологий:

− сase-технологии;

− объектно-ориентированной_технологии;

− дополнительных_фреймворков;

− среды_программирования.

CASE-

технология_представляет_собой_методологию_проектирования_информацион

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

глядной_форме_моделировать_предметную_область,_анализировать_модель_н

а_всех_этапах_разработки_и_сопровождения_информационной_подсистемы,_р

азрабатывать_приложения_в_соответствии_с_информационными_потребностя

ми_пользователя.

Проведя_анализ_программных_средств,_и_учитывая_специфику_разраб

отки_и_преимущества_продуктов,_решено_использовать_для_реализации_кли

ентского_приложения_язык_Java_и_фреймворк_JavaFX.

Вывод_по_второму_разделу

Необходимость_покупки_дополнительного_оборудования_отсутствует,

_так_как_в_организации_имеется_необходимое_оборудование_для_функциони

рования_информационной_подсистемы._Описаны_требования_к_информацио

нной_подсистеме,_выбраны_и_обоснованы_проектные_решения_по_информац

Page 32: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

32

ионному,_программному,_технологическому_обеспечению._Данные_по_разде

лу_позволили_перейти_к_разработке_информационной_подсистемы_автомати

зации_процесса_краулинга_для_организации_ООО_«Продвижение».

Page 33: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

33

3 Проектная_часть_

3.1_Информационное_обеспечение_задачи_информационной_подсистем

ы_автоматизации_процесса_краулинга_

3.1.1_Информационная_модель_и_ее_описание

Под_информационной_моделью_понимается_модель_объекта,_представл

енная_в_виде_информации,_описывающей_существенные_для_данного_рассм

отрения_параметры_и_переменные_величины_объекта,_связи_между_ними,_в

ходы_и_выходы_объекта_и_позволяющая_путем_подачи_на_модель_информа

ции_об_изменениях_входных_величин_моделировать_возможные_состояния_

объекта_[10].

Проведя_анализ_технико-

экономической_составляющей_организации,_была_разработана_информацион

ная_модель_«Как_есть»_и_выявлены_недостатки_технической_оптимизации_с

айта._[13]

Разработка_информационной_модели_предполагает_моделирование_нов

ого_варианта_организации_технической_оптимизации_сайта_ООО_«Продвиже

ние»_–

_информационной_модели_«Как_должно_быть»._Описание_автоматизации_пр

оцесса_краулинга_производится_с_использованием_известной_и_широко_исп

ользуемой_методологии_функционального_моделирования_IDEFO.

Предлагаемая_модель_seo-

оптимизации_коммерческого_сайта_представлена_на_рисунке_3.1.

Page 34: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

34

Рисунок_3.1_–_Предлагаемая_модель_seo-оптимизации_коммерческого_сайта

На_рисунке_3.2_представлена_функциональная_декомпозиция_второго_

уровня_подсистемы_–_процесса_seo-

оптимизации_коммерческого_сайта,_состоящего_из_обработки_текста_задани

я_и_формирования_оптимизирования_сайта._На_данной_контекстной_диаграм

ме_автоматизированная_система_краулинга_входит_только_техническую_опт

имизацию,_именно_этот_процесс_является_одним_из_самых_важных_в_проце

ссе_продвижения_сайта_в_поисковой__выдаче.

USED AT: AUTHOR: N ikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

TOP

NOD E: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A-0

Страший

SEO-специалист

Младший

SEO-специалист

Текст

заданияОптимизированный

сайт

Договор

на

услуги

Чек-листыАктуальные

методики

оптимизации

Система

управления

проектами Автоматизированная

подсистема

краулинга

00 ?

SEO-оптимизация коммерческого сайта

Page 35: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

35

Рисунок_3.2_–_Диаграмма_декомпозиции_процесса_seo-оптимизации_коммерческого_сайта.

Автоматизация_деятельности_специалиста_по_поисковому_продвижени

ю_происходит_на_этапах_«Технического_оптимизации»._Более_подробный_п

роцесс_автоматизации_процесса_краулинга._Информационная_подсистема_ав

томатизации_процесса_краулинга_в_процессе_парсинга_сайта_получает_инфо

рмацию_о_различных_типах_ошибках_и_не_корректно_заполненных_данных.

_Самой_распространённой_проблемой_технической_оптимизации_–

_это_дубли_страниц._Это_может_возникать_в_процессе_разработки_или_не_з

акрытия_различных_настроек_в_файле_robots.txt,_представлена_реализация_н

а_рисунке_3.3

USED AT: AUTHOR: Nikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

W ORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A-0

NODE: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A0

Страший

SEO-специалист

Договор на

услуги

Актуальные методики

оптимизацииЧек-листы

Младший

SEO-специалист

Текст

задания

Оптимизированный

сайт

Поставленные

задачи

Базово

опмитимизированный

сайт

Технический

оптимзированный

сайт

Технически и

семантически

проработанный

сайт

Система

управления

проектами

Автоматизированная

подсистема

краулинга

10 ?

Запуск проекта

20 ?

Базовая оптимизация

30 ?

Техническая оптимизация

40 ?

Анализ конкуренции

50 ?

Сбор схематического ядра

Page 36: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

36

Рисунок_3.3_–_Декомпозиция_процесса_«Техническая_оптимизация»

Результатом_проведенной_работы_является_модернизация_процесса_кра

улинга_путем_использования_информационной_подсистемы_для_парсинга_ст

раниц_сайта_и_обработки,_анализа_полученных_данных._Это_позволит_реши

ть_проблему_с_скоростью_обработки_информации,_получение_оценки_качест

ва_оптимизации_сайта_на_уровне_технических_ошибок,_а_также_ускорит_пр

оизводительность_специалиста_по_поисковому_продвижению.

3.1.2_Характеристика_данных_полученных_при_парсинге_сайта

Входной_оперативной_информацией_для_информационной_подсистемы

_являются_ссылки_страниц_и_код_ответа_сервера._Краулер_сканирует_все_сс

USED AT: AUTHOR: N ikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A0

NODE: TITLE: NUMBER:Техническая оптимизация

A3

Актуальные

методики

оптимизации

Младший

SEO-специалист

Чек-листы

Страший

SEO-специалист

Технический

оптимзированный

сайт

Базово

опмитимизированный

сайт Сайт с

оптимизированными

внешними ссылками

Просканированный

сайт

Сайт с

закрытыми

дублями

Система

управления

проектами

Автоматизированная

подсистема

краулинга

10 ?

Анализ и закрытие в нешних ссылок

20 ?

Краулинг сайта

30 ?

Закрытие дублей страниц

40 ?

Удаление 404 ссылок

Page 37: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

37

ылки,_находящиеся_на_странице_сайта,_собирает_их_в_память,_после_обхода

_каждой_ссылки_он_заносит_их_в_таблицу,_которая_будет_представлена_пос

ле_сканирования._Код_ответ_сервера_–

_это_часть_первой_строки_ответа_сервера_по_протоколу_HTTP,_одна_из_сам

ых_встречаемых_в_интернете_это_404_ошибка_сервера,_значащая,_что_запро

шенный_ресурс_не_найден,_но_в_будущем_возможно_появится._Также_на_вт

ором_месте_–

_это_301_код_сервера_или_другими_словами_редирект._Он_позволяет_перена

править_пользователя_на_другой_ресурс,_а_также_расценивается_поисковым

и_роботами,_что_страница_существует_и_не_удаляет_из_кеша_«поисковиков»

.

Входной_информацией_для_анализа_контента_сайта_служит_мета-

теги_Title,_H1._Одни_из_самых_важных_тегов_находящееся_на_странице_сай

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

ться_на_странице_и_дать_точный_ответ_на_забитый_в_поиске_запрос.

Для_регистрации_входящих_ссылок_присваивается_уникальный_номер_

и_страницы,_поступившего_при_сканировании_сайта._В_последствии_можно

_узнать_на_какой_стадии_краулер_просканировал_определённую_ссылку.

Для_обновления_входной_информации_подсистемы_автоматизации_про

цесса_краулинга_необходимо_предусмотреть_возможность_корректировки_ил

и_пересканирования_сайта._Например,_добавление_диапазона_сканирования_

или_сканирования_определённых_ссылок.

3.1.4_Характеристика_выходной_и_результативной_информации

В_информационной_подсистеме_процесса_краулинга_выходной_инфор

мацией_являются_отчет_о_анализе_и_мониторинга_ошибок_сайта._Который_

в_последствии_возможно_сохранить_и_передать_на_обработку.

Page 38: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

38

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

анных_ссылок,_найденных_на_сайте._Ссылки_сканируются_исходя_из_основн

ого_домена,_поскольку_если_сайт_имеет_внешние_ссылки,_может_быть_прос

канированы_другие_данные_исходящих_ссылок.

Данные_об_исходящих_документах_формируются_из_колонок_«Title»,_

«Код_ответа_сервера»,_«H1»._Самые_важные_данные_для_технической_опти

мизации_и_проработки_семантического_ядра,_по_которым_специалист_по_по

исковому_продвижению_может_оценить_оптимизацию_сайта.

Результативными_документами_информационной_подсистемы_является

_аналитическая_отчетность_по_трем_видам_потоков_данных._Эти_отчеты_по

лучаются_в_результате_обработки_информации_из_из_колонок_«Title»,_«Код

_ответа_сервера»,_«H1»._Сравнение_идет_по_количеству_просканированных_

страниц_сайта_и_найденных_ошибок_на_сайте.

3.2_Программное_обеспечение_задачи_информационной_подсистемы

3.2.1_Структурная_схема_пакета_и_описание_программных_модулей

Разрабатываемая_информационная_подсистема_автоматизирует_процесс

_краулинга:_просмотр_мета-

тега_Title_и_H1,_внутренних_и_исходящих_страниц,_выполнения_анализа_са

йта_на_основе_полученных_данных.

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

_и_основные_функции_управления_и_обработки._Служебные_функции_призв

аны_обеспечить_безопасность_ввода,_обработки_и_хранения_информации,_об

легчить_работу_с_системой_и_сделать_её_приспособленной_для_пользователя

._Основные_функции_отражают_особенности_процесса_обработки_информац

ии,_получения_результатов.

Page 39: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

39

Иерархия_функций_управления_и_обработки_данных_информационной

_подсистемы_автоматизации_процесса_краулинга_представлена_в_виде_дерев

а_функций_на_рисунке_3.4.

Рисунок_3.4_–_Дерево_функций_информационной_подсистемы

Основными_функциями_информационной_подсистемы_автоматизации_

процесса_краулинга_является_парсинг_страниц_и_мета-

тегов,_анализ_полученных_данныъ,_а_также_формирование_отчетности._К_сл

ужебным_функциям_относится_вход_в_подсистему_и_помощь_в_работе_с_ин

формационной_подсистемой.

На_данном_этапе_разработки_информационной_подсистемы_выбран_ди

алоговый_режим_взаимодействия_пользователя_с_подсистемой,_который_обе

Page 40: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

40

спечивает_возможность_оперативного_вмешательства_человека_в_процесс_об

работки_данных._

Сценарий_диалога_информационной_подсистемы_с_пользователем_сост

оит_из_следующих_составляющих:_основных_и_сервисных_меню.

Основные_меню,_которые_видит_пользователь_до_выполнения_основн

ых_функций,_и_предполагают_обязательные_действия_пользователя_при_раб

оте_с_подсистемой.

Процесс_проектирования_программного_обеспечения_начинается_с_уто

чнения_и_определения_структурных_компонентов_и_связей_между_ними.

Выделяют_следующие_исполняемые_модули:

¯ модули,_которые_предназначены_для_ввода,_обработки,_хранения_и_

выдачи_информации,

¯ управляющие_модули,_обеспечивающие_интерфейс_с_пользователем

_и_переход_к_другим_модулям.

¯ модули,_которые_выполняют_дополнительные_функции.

Описание_программных_модулей_информационной_подсистемы_предст

авлено_в_таблице_3.1.

Таблица_3.1_–_Модули_информационной_подсистемы_

№ Наименование_модуля Функции_модуля_информационной_подсистемы 1 Модуль_пользователя_инф

ормационной_подсистемы_ Из_данного_модуля_осуществляется_переход_ко_всем_модулям_информационной_подсистемы_автоматизации_процесса_краулинга

2 Модуль_получения_информации_о_документах_организации

Включает_информацию_по_входящим,_внутренним_и_исходящим_страницам.

3 Модуль_парсинга_страниц Содержит_вводные_начальные_ссылки,_которые_необходимо_парсить._

4 Модуль_анализа_контента_сайта

Включает_функции_анализа_контента_сайта_по_полученным_просканированным_данным.

5 Модуль_работы_с_отчетами_по_обработке_данных

Предназначение_модуля_состоит_в_создании_отчета_по_обработке_входящих,_внутренних_и_исходящих_данным._

Page 41: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

41

3.3_Технологическое_обеспечение_задачи Технологическое_обеспечение_задачи_включает_сбор_и_регистрацию_и

нформации,_передачу,_обработку,_хранение,_поиск,_анализ_и_подготовку_пр

инятия_решения.

Схема_работы_системы_отображает_управление_операциями_и_потокам

и_данных_в_системе._Схема_работы_системы_состоит_из_следующих_симво

лов:

¯ символов_данных,_указывающих_на_наличие_данных;

¯ символов_процесса,_указывающих_операции,_которые_следует_выпо

лнить_над_данными,_а_также_определяющий_логический_путь,_которого_сле

дует_придерживаться;

¯ линейных_символов,_указывающих_потоки_данных_между_процесса

ми_или_носителя_данных,_а_также_поток_управления_между_процессами;

¯ специальных_символов,_используемых_для_облегчения_написания_и_

чтения_блок-схемы_[14].

Для_начала_сканирования_сайта_на_технические_ошибки_необходимо_

выбрать_в_меню_«Новый»_и_заполнить_поле_основным_доменом_и_добавит

ь_несколько_внутренних_страниц_сайта,_для_более_корректного_краулинга_с

айта._Если_данные_введены_корректно,_то_происходит_краулинг_сайта_по_в

сем_ссылкам,_которые_находятся_на_страницах_сайта,_иначе_могут_возникн

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

сключительного_одного_домена,_чтобы_в_последствии_не_были_просканиров

аны_внешние_ссылки_сайтов.

Page 42: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

42

Для_людей_плохо_видящих_и_других_категории_людей_с_ограниченны

ми_возможностями_здоровья_есть_возможность_настройки_отображения_ссы

лок_любым_удобным_цветом._

_

3.4_Описание_контрольного_примера_реализации_подсистемы

После_запуска_информационной_подсистемы_автоматизации_процесса_

краулинга_необходимо_ввести_ссылки_главного_домена_и_внутренних_стран

иц_как_это_представлено_на_рисунке_3.5.

Рисунок_3.5_–_Ввод_главного_домена_и_внутренних_страниц

Page 43: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

43

При_вводе_некорректных_или_неполных_данных_в_поля_осуществляет

ся_вызов_информационного_окна_об_ошибке,_представленного_на_рисунке_3

.6.

Рисунок_3.6_–_Неправильный_ввод_данных_домена

После_успешного_запуска_подсистемы_открывается_новое_и_главное_д

иалоговое_окна,_которое_представляет_визуализацию_процесса_краулинга._П

осле_успешного_краулинга_сайта_мы_можем_увидеть_таблицу_с_ссылками,_

размещенными_на_сайте_и_их_мета-тегами._

Главное_окно_подсистемы_автоматизации_процесса_краулинга_предста

влено_на_рисунке_3.7.

Page 44: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

44

Рисунок_3.7_–_Главное_окно_информационной_подсистемы

Для_осуществления_открытия_страницы_в_режиме_браузера_необходим

о_нажать_два_раза_на_ссылку,_пример_представлен_на_рисунке_3.8._

Page 45: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

45

Рисунок_3.8_–_Окно_открытия_страницы_в_режиме_браузера

Каждая_ссылка_подсвечивает_исходя_того_находиться_ли_она_выбранн

ой_странице_или_нет,_что_позволяет_определить_внутренние_ссылки_страни

цы,_пример_представлен_на_рисунке_3.9.

Page 46: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

46

Рисунок_3.9_–_Окно_отображение_связей_между_ссылками

Для_настройки_отображения_ссылок_и_связи_между_ними,_необходим

о_выбрать_«Настройки»_в_главном_меню,_есть_возможность_любой_цвет,_п

одходящий_пользователю,_пример_представлен_на_рисунке_3.10.

Рисунок_3.10_–_Окно_настройки_отображения_ссылок

Page 47: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

47

После_введение_правильных_данных_домена_и_ссылок_внутренних_ста

ниц_сайта_запускаем_процесс_краулинга._Робот_обходит_все_страницы,_кото

рые_найдет,_кроме_внешних_ссылок._Выводит_информацию_о_каждой_прос

канированной_странице,_а_именно:_мета-

теги_Title_и_H1,_номер_ссылки,_код_ответа_сервера._Справа_диаграммы_пок

азывают_наличие_ссылок_с_кодом_ответа_200_имеют_красный_цвет,_404_си

ний,_3хх_зеленый_эта_визуализация_позволяет_пользователю_сразу_обратить

_внимание_на_просканированные_данные_и_проанализировать_процесс_крау

линга,_представлено_на_рисунке_3.11.

Рисунок_3.11_–_Окно_просканированного_сайта_

После_успешного_сканирования_сайта,_можно_добавить_отдельные_сс

ылки_для_повторного_сканирования_(поддомены,_внешние_ссылки,_не_проск

анированные_внутренние_ссылки)._Так_же_во_время_процесса_сканирования

_краулером_можно_приостановить_процесс,_для_этого_необходимо_выбрать_

в_верхней_части_меню_«Пауза»_и_так_же_можно_возобновить_процесс_на_п

рошлом_месте,_представлено_на_рисунке_3.12.

Page 48: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

48

Рисунок_3.12_–_Ввод_дополнительный_ссылок

Перед_началом_сканирования_или_при_повторном_сканировании_сайта

_краулером,_есть_возможность_выделение_диапазона_сканирования._Диапазо

н_можно_выбирать_от_и_до_количества_сканируемых_ссылок,_одна_из_особ

енности_от_других_краулеров_–

_это_возможно_выделения_диапазона_по_вложенности,_что_позволяет_видеть

_несколько_вложенностей,_а_не_все_(например,_определенные_группы,_но_н

е_товары,_вложенные_в_них),_представлено_рисунок_3.13.

Page 49: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

49

Рисунок_3.13_–_Окно_выделение_диапазона_сканирования

Если_есть_необходимость_просканировать_именно_те_страницы,_котор

ые_необходимы,_то_необходимо_добавить_их_в_файл_формата_CSV_в_один_

столбик,_после_на_окне_добавления_ссылок_на_сайт,_необходимо_нажать_на

_кнопку_«Обзор»_и_выбрать_файл_CSV,_представлено_на_рисунке_3.14.

Page 50: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

50

Рисунок_3.14_–_Форма_«Документация_организации»

После_окончания_сканирования_всего_сайта,_есть_функция_оценки_сай

та_по_шкале_от_0_до_100._Оценка_происходит_по_найденным_ошибкам_в_п

роцессе_сканирования_краулером_(например,_открытые_фильтры,_дублирова

ния_мета-

тегов,_количество_страниц_с_ответом_сервера_4хх,_3хх.)._Алгоритм_оценки_

работает_в_соотношении_просканированных_страниц_и_найденных_ошибок._

После_получения_оценки,_есть_возможность_формирования_файла_PDF,_пре

дставлено_на_рисунке_3.15.

Page 51: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

51

Рисунок_3.15_–_Результат_поиска_внутреннего_документа

_Таким_образом,_были_протестированы_функциональные_возможности

_информационной_подсистемы_автоматизации_процесса_краулинга_для_деят

ельности_организации_ООО_«Продвижение».

3.5_Расчет_экономической_эффективности

Основными_задачами_разработки_информационной_подсистемы_являли

сь_уменьшение_объема_непроизводительной_работы_по_технической_оптими

зации_сайта,_обеспечение_увеличение_скорости_анализа_контента_сайта_и_с

оздание_отчета,_создаваемых_в_организации,_а_также_осуществление_контро

ля_своевременного_исполнения_аудита_или_поставленных_сроков_задач.

Экономический_эффект_от_внедрения_информационной_подсистемы_м

ожно_оценить_на_основании_прямой_и_косвенной_эффективности._

Прямой_экономический_эффект_–_экономия_материально-

трудовых_ресурсов_и_денежных_средств,_полученная_в_результате_сокращен

ия_расхода_основных_и_вспомогательных_материалов_вследствие_автоматиза

ции_работ._

Page 52: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

52

Косвенный_эффект_–

_экономия_средств_в_процессе_производства,_проявляющаяся_в_конечном_р

езультате_хозяйственной_деятельности_предприятия._

Осуществить_оценку_проекта_на_степень_его_реализуемости_–

_это_значит_оценить_социально-

экономический_эффект_проекта_на_той_стадии,_когда_мало_достоверной_ин

формации,_поэтому_и_оценки_должны_быть_интервальными.

Поскольку_в_подсистеме_автоматизации_процесса_краулинга_используе

тся_централизованное_хранение_информации,_то_увеличится_скорость_обраб

отки_информации,_что_приведет_к_росту_производительности_труда_seo-

оптимизатора._Календарный_план-

график_проектирования_информационной_подсистемы_включает_этапы,_пред

ставленные_в_таблице_3.2.

Таблица_3.2_–_Календарный_план-график_проектирования_подсистемы

Этап Длительность Предпроектные_исследования 1,5_недели

Проектирование 1,5_недели Разработка_и_отладка_программного_кода 1,5_недели

Тестирование_системы 1_неделя Внедрение_проекта 1_неделя

Итого: 7_недель

Единовременные_затраты_(Зк),_связанные_с_разработкой_и_внедрением

_данной_информационной_подсистемы,_будут_состоять_из_заработной_платы

_разработчика_ПП_(Ззп),_накладных_расходов_(Зн),_капитальных_затрат_(К),

_включающих_затраты_на_приобретение_вычислительной_техники_(Квт),_пр

иобретение_пакетов_прикладных_программ_(Кппп)_и_операционных_систем_

(Кос)._Единовременные_затраты_вычисляются_по_формуле_3.1.

Зк = К+ Ззп = Кппп+_Кос + Квт + Ззп,_ (3.1)

Page 53: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

53

Накладные_расходы_(Зн),_связанные_с_проектированием_и_отладкой_и

нформационной_подсистемы,_в_том_числе_стоимость_расходных_материалов

_представлены_в_таблице_3.3.

Таблица_3.3_–_Накладные_расходы

Материалы Потребность,_шт. Стоимость,_руб. Бумага_А4 1упак. 180

Картридж_для_принтера 1_шт. 1945 USB-Flash_накопитель 1_шт. 275

Итого 2400

Дополнительные_затраты_на_покупку_оборудования_не_потребуются,_т

ак_как_все_сотрудники_обеспечены_компьютерами.

Заработная_плата_разработчика_ПО_определяется_по_формуле_3.2.

Ззп = Зср.дн ∙ �, (3.2)

где_Зср.дн_–

_среднедневная_зарплата_разработчика_ПО,_рассчитанная_на_основе_его_мес

ячного_оклада_и_числа_рабочих_дней_в_месяце;

Т_–_суммарная_длительность_дней_на_разработку_системы.

Так_как_в_неделе_5_рабочих_дней,_то_суммарная_длительность_дней_

на_разработку_равна

Т_=_7_недель_•_5рабочих_дней_=_35_рабочих_дней

Ставка_социального_налога_состоит_из_отчислений_в_Фонд_медицинск

ого_страхования_(5,1%),_отчислений_в_Пенсионный_фонд_(22%),_отчислени

й_в_Страховой_фонд_(2,9%)._Ставка_единого_социального_налога_на_фонд_

оплаты_труда_равна

22%+2,9%+5,1%_=_30%

Приняли_Зср.дн_равной_600_руб._Исходя_из_этого,_сумма_заработной_п

Page 54: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

54

латы_с_учетом_ставки_единого_социального_налога_для_разработчика_на_пе

риод_работ_составит

Ззп = Зср ∙ � ∙ 1,3 = 600 ∙ 35 ∙ 1,3 = 27300_руб., (3.3)

Общая_сумма_единовременных_затрат_(Зк)

Зк=2400+27300=_29700_руб.

В_ходе_эксплуатации_подсистемы_будут_возникать_постоянные_затрат

ы,_представленные_в_таблице_3.4.

Таблица_3.4_–_Постоянные_затраты_системы

Постоянные_затраты Стоимость,_руб/год Затраты_на_ремонт_оборудования 2917,5

Затраты_на_электроэнергию 2738,54 Амортизационные_отчисления 3890

Итого 9546,04

Ремонт_и_обслуживание_подсистемы_включает_в_себя_администрирова

ние_и_сопровождение_(затраты_на_поддержку,_услуги_по_сопровождению_р

аботы_системы)._Ремонт_и_обслуживание_системы_составит_15%_в_год_от_

стоимости_технического_обеспечения._

Срем = ∙ 0,15, (3.4)

Основным_сотрудником,_производящий_анализ_и_разработку_стратегии

_продвижения_сайта,_является_seo-

оптимизатор._Стоимость_оборудования_рабочего_места_seo-

оптимизатора_можно_оценить_по_остаточной_стоимости_так,_как_указано_в_

таблице_3.5.

Таблица_3.5_–_Стоимость_технического_средства

Оборудование Сумма,_руб Системный_блок 53200

2_Монитора 24300

Page 55: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

55

Клавиатура,_мышь 2650 Итого 80150

Затраты_на_ремонт_компьютера_делопроизводителя_организации_соста

вляют

Срем=53200·0,15=7980_руб./год

Затраты_на_электроэнергию_можно_рассчитать_по_формуле_3.5.

!эл = Цэ ∙ Фд ∙ &,_ (3.5)

где_Цэ_–_стоимость_1_кВт/ч_электроэнергии;_

Фд_–_действительный_годовой_фонд_времени_работы_ЭВМ_в_часах;

М_–_мощность_ЭВМ_в_кВт/ч_электроэнергии.

Поправочный_коэффициент_для_расчета_действительного_годового_фо

нда_работы_ЭВМ_равен_0,95,_так_как_компьютер_работает_не_полные_8_ча

сов.

Фд_=_237_рабочих_дней_8часов/день_·_0,95_=_1801,2_ч

Сэл_=_3,62·1801,2·0,42_=_2738,54_рублей/год

Согласно_утвержденной_классификации_ОС_по_амортизационным_груп

пам_компьютерная_техника_относится_к_3-

ей_амортизационной_группе._Срок_эксплуатации_ЭВМ_составляет_3-

5_лет._Норма_начисления_амортизации_на_вычислительную_технику_=_100

%_/_5_лет_=_20%_в_год.

!ам = ∙ 0,20,_ (3.6)

где_P_–_стоимость_ЭВМ.

Сам_=_53200*0,2_=_10640_руб.

Получим:_С_экс_=_7980+2738,54+10640=21358,54_руб.

В_среднем_на_сбор,_фиксацию,_обработку_и_анализ_информации,_а_та

кже_на_ручное_составление_необходимой_отчетности_в_месяц_тратится_672

Page 56: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

56

_часа_рабочего_времени,_что_составляет_в_денежном_выражении_65520_руб.

_(21_рабочий_день_*_600_руб._дневная_ставка_*_1,30_ставка_единого_социа

льного_налога_*_4_человека).[20]

Затраты_до_внедрения_информационной_подсистемы_составляют_65520

_руб._в_месяц.

Прямые_затраты_после_внедрения_подсистемы_составят_168_часов_(21

_рабочий_день*8_часов),_что_в_денежном_выражении_равно_16380_руб._(21

_рабочий_день_*_600_руб._дневная_ставка*1,3_ставка_социального_налога)._

В_среднем_прямая_экономия_на_заработной_плате_и_обязательных_отчислен

ий_с_фонда_оплаты_труда_составит_49140_рублей_в_месяц_(65520_руб._–

_16380_руб.),_что_в_годовом_выражении_примерно_равно_589680_руб._(4914

0_руб._*_12_месяцев).

Поскольку_в_первом_году_6_месяцев_выпадает,_так_как_именно_в_это

_время_велась_работа_по_разработке_и_внедрению_подсистемы,_то_сумма_с

оставит_

589680/12*8_=393120_руб.

Расчет_экономического_эффекта_произведен_на_основании_чистого_ди

сконтированного_дохода_(ЧДД),_определенного_как_сумма_текущих_эффекто

в_за_весь_расчетный_период,_приведенная_к_начальному_шагу.

Под_дисконтированием_понимается_способ_приведения_будущей_стои

мости_инвестируемых_средств_к_их_текущей_стоимости.

Дисконтная_ставка_–

_процентная_ставка,_по_которой_осуществляется_приведение_будущей_стоим

ости_инвестируемых_средств_к_их_текущей_стоимости._Норма_дисконта_опр

еделяется_по_формуле_3.7.

( = Ен*_в

+,в, (3.7)

Page 57: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

57

где_(_–

_норма_дисконта,_равная_приемлемой_для_инвестора_норме_дохода_на_капи

тал;_

Ен__–_ставка_рефинансирования,_устанавливаемая_Центробанком_РФ;

в_–_прогнозируемый_уровень_инфляции.

С_27_марта_2017_года_ставка_рефинансирования_составляет_9,75_проц

ентов_годовых_(информация_Банка_России_от_24_марта_2017_г.)._Согласно_

прогнозам_Министерства_экономического_развития,_уровень_инфляции_в_Ро

ссии_будет_составлять_7_%,_то_норма_дисконта

α =_(0,_0975-0,07)/1,07=0,026_

Инвестиции_представляют_собой_вложения_капитала_в_различные_объ

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

кже_сохранения_и_увеличения_капитала._Чистый_дисконтированный_доход_

определяется_как_сумма_текущих_эффектов_за_весь_расчётный_период_и_вы

числяется_по_формуле_3.8._[23]

ЧДД = ∑ (Д1 − 1)∙_ +

(+,4)56178 _, (3.8)

где_Д1_–_доходы_t-го_периода;

1_–_расходы_t-го_периода;

(_–

_норма_дисконта,_равная_приемлемой_для_инвестора_норме_дохода_на_капи

тал;

t_–_годы.

Индекс_доходности_вычисляется_по_формуле_3.9.

ИД =∑ Д5∙

+

(+,4)555:+

∑ ;5<5:+ ∙

+

(+,4)5

_, (3.9)

Дисконтный_множитель_вычисляется_по_формуле_3.10.

Page 58: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

58

ДМ =8

(8>?)5_, (3.10)

Экономические_показатели_информационной_подсистемы_представлен

ы_в_таблице_3.6.

Таблица_3.6_–

_Экономические_показатели_разработанной_информационной_подсистемы

_ Периоды

0_год 1_год 2_год 3_год 4_год 5_год Инвестиции 29700 Экономия 294840 589680 589681 589682 589683 Расходы 9546,04 9546,04 9546,04 9546,04 9546,04

Дисконтный_множитель 1 0,99122 0,98253 0,9739 0,96536 0,95688

Текущий_эффект -29700 383573,96 580133,96 580134,96 580135,96 580136,96 Дисконтиро-

ванный_эффект -29700 380206,18 569999,02 564993,44 560040,05 555121,45

ЧДД -29700 350506,18 920505,20 1485498,64 2045538,69 2600660,14

Индекс_доходности_строится_из_тех_же_элементов,_что_и_чистый_дис

контированный_доход._Индекс_доходности_больше_единицы,_так_как_чисты

й_дисконтированный_доход_положителен._На_рисунке_3.34_приведен_графи

к,_показывающий_величину_ЧДД_нарастающим_итогом_за_5_лет_использова

ния_информационной_подсистемы._[23]

Page 59: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

59

Рисунок_3.16_–_График_срока_окупаемости_подсистемы

Подсистема_окупится_уже_в_первый_год_после_ее_внедрения._Эконом

ия_от_внедрения_информационной_подсистемы_во_много_раз_превышает_ра

сходы,_поэтому_чистый_и_дисконтированный_эффекты_видны_уже_в_течени

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

изительным.

Вывод_по_третьему_разделу

Была_описана_созданная_информационная_подсистема_автоматизации_

процесса_краулинга,_ее_структура_и_работа._Представлена_модель_«Как_дол

жно_быть»_по_усовершенствованию_процессов_технической_оптимизации_са

йтов,_выявлены_основные_и_служебные_функции_подсистемы,_предоставлен

а_схема_работы_программы,_наглядно_предоставлены_и_протестированы_рез

ультаты_работы_информационной_подсистемы_автоматизации_процесса_крау

линга,_а_также_рассчитана_экономическая_эффективность_подсистемы_для_

ООО_«Продвижение».

-500000

0

500000

1000000

1500000

2000000

2500000

3000000

1 2 3 4 5 6

Вел

ичин

а Ч

ДД

года

Чистый дисконтированный доход

Page 60: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

60

ЗАКЛЮЧЕНИЕ

Для_достижения_поставленной_цели_выпускной_квалификационной_ра

боты_было_определено_технико-

экономическое_состояние_предприятия_и_проанализирована_деятельность_se

o-

оптимизатора,_выявлены_проблемы_и_недостатки_автоматизации_техническо

й_оптимизации_сайта,_определена_цель_и_назначение_автоматизированного_

варианта_решения_задачи,_проведен_анализ_существующих_разработок_и_об

основание_выбора_технологии_проектирования_информационной_подсистемы

.

Проведено_обоснование_проектных_решений_по_техническому,_инфор

мационному,_программному,_технологическому_обеспечению,_а_также_выбр

аны_программные_средства._В_процессе_проектирования_была_обоснована_н

еобходимость_создания_информационной_подсистемы_автоматизирующую_п

роцесс_краулинга_и_сформулированы_требования_к_ней.

Была_описана_созданная_информационная_подсистема,_ее_структура_и

_функциональные_возможности._Были_наглядно_представлены_результаты_р

аботы_информационной_подсистемы_автоматизации_процесса_краулинга._По

сле_чего,_была_рассчитана_экономическая_эффективность_подсистемы_для_

ООО_«Продвижение».

Результатом_выпускной_квалификационной_работы_стала_информацио

нная_подсистема_автоматизации_процесса_краулинга_для_анализа_контента_

сайта.

Информационная_подсистема_автоматизации_процесса_краулинга_удов

летворяет_установленным_требованиям_организации_и_планируется_к_внедр

ению_во_внутренние_процессы_технической_оптимизации_сайта_специалисто

м_по_поисковому_продвижению.

Page 61: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

61

Цель_выпускной_квалификационной_работы_достигнута_в_полном_объ

еме.

Поставленные_задачи_выпускной_квалификационной_работы_были_усп

ешно_решены:

¯ проведено_исследование_деятельности_организации_по_технической_

автоматизации_сайта;

¯ определен_путь_решения_проблем_и_недостатков_в_работе_seo-

оптимизатора_организации;

¯ спроектирована_информационная_подсистема;

¯ реализована_информационная_подсистема;

¯ протестирована_информационная_подсистема_автоматизации_процесс

а_краулинга_для_анализа_контента_сайта.

Это_позволило_решить_ряд_проблем_в_деятельности_специалиста_по_п

оисковому_продвижению:

¯ ускорение_в_анализе_технической_оптимизации_сайта;

¯ выделение_диапазона_по_вложенностям_сайта;

¯ составления_аккаунт-

менеджеру_оценки_о_состоянии_технической_части_сайта;

¯ составление_отчета_о_дублирующийся_страниц_сайта._

Page 62: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

62

СПИСОК_ИСПОЛЬЗОВАННЫХ_ИСТОЧНИКОВ

1. Ашманов,_И.С._Оптимизация_и_продвижение_сайта_в_поисковых

_системах_/_А.С._Иванов._–_Санкт-Петербург.:_Питер ,_2013.–_464_с.

2. Баскакова,_О._В._Экономика_предприятия_(организации)_/_О.В._

Баскакова,_О.В._Сейко._–_М.:_Издательско-

торговая_корпорация_«Дашков_и_К»,_2013.–_372_с.

3. Неелова,_Н.В._SEMBOOK._Энциклопедия_поискового_продвижен

ия_/_Е.С._Кондюкова._–_Екатеринбург.:_ГОУ_ВПО_УГТУ-УПИ,_2006.–

_116_с.

4. ГОСТ_Р._15489-1-

2007_Система_стандартов_по_информатизации,_библиотечному_и_издательск

ому_делу._Управление_документами._Общие_требования._–

_M.:_Стандартинформ,_2007.–_34_с.

5. Ясенев,_В.Н._Автоматизированные_информационные_системы_в_

экономике:_учебно-

методическое_пособие_[Электронный_ресурс]_/_В.Н._Ясенев._–

_Н._Новгород,_2007.–

_Режим_доступа:_http://www.iee.unn.ru/files/2014/09/Kniga-slajdy.pdf.

6. ГОСТ_2.601-

2013_Единая_система_конструкторской_документации._Эксплуатационные_до

кументы._–_M.:_Стандартинформ,_2014.–_36_с.

7. Гвоздева,_В.А._Основы_построения_автоматизированных_информ

ационных_систем/_В.А._Гвоздеева,_И.Ю._Лаврентьева._–

_М.:_ИД_«Форум»:_ИНФРА-М,_2009.–_320_с._

8. Морозевич,_А.Н._Основы_информатики_/_А.Н._Морозевич,_Н.Н._

Говядинова._–_Мн:_Новое_знание,_2003.–_543_с.

Page 63: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

63

9. Моисеенко,_Е.В._Информационные_технологии_в_экономике_[Эл

ектронный_ресурс]_/_Е.В._Моисеенко,_Е.Г._Лаврушина._–

_Владивосток:_Издательство_ВГУЭС,_2004.–

_Режим_доступа:_www.vvsu.ru/files/579B03E9-4BE4-4A07-98F4-

E386FCEA1E8B.pdf.

10. ГОСТ_34._003-

90_Информационная_технология_(ИС)._Комплекс_стандартов_на_автоматизир

ованные_системы._Автоматизированные_системы._Термины_и_определения._

–_М.:_Стандартинформ,_2009.–_26_с.

11. ГОСТ_19.701-

90_ЕСПД._Схемы_алгоритмов,_программ,_данных_и_систем._Условные_обоз

начения_и_правила_выполнения._–_М.:_Стандартинформ,_2010.–_21_с.

12. ГОСТ_7.32-2001_Отчет_о_научно-

исследовательской_работе._Структура_и_правила_оформления._–

_М.:_Стандарт,_2002.–_27_с.

13. ГОСТ_7.1-

2003_Библиографическая_запись._Библиографическое_описание._Общие_треб

ования_и_правила_составления._–_М.:ИПК_Издательство_стандартов,_2004.–

_57_с.

14. ГОСТ_19.102-77_ЕСПД_Стадии_разработки._–

_М.:Стандартинформ,_2010.–_3_с.

15. Рогожин,_М.Ю._Документационное_обеспечение_управления:_уче

бно-практическое_пособие/М.Ю._Рогожин._–_Тк_Велби,_Изд-

во_Проспект,_2008.–_384_с.

16. Таненбаум,_Э._Современные_операционные_системы_[Электронн

ый_ресурс]_/_Э._Таненбаум,_Х._Бос._–_СПб.:_Питер,_2015.–

_Режим_доступа:_http://math.kubsu.ru/Debian_Tanenbaum.pdf.

17. Гахов,_Р.П._Методы_и_средства_проектирования_информационны

х_систем_и_технологий:_учебно-

Page 64: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

64

методический_комплекс_[Электронный_ресурс]_/_Р.П._Гахов,_2013._Режим_д

оступа:http://pegas.bsu.edu.ru/course/view.php?id=5906.

18. Пшенко,_А.В._Документационное_обеспечение_управления_/_А.В.

_Пшенко,_Л.А._Доронина._–_М.:_Издательский_центр_«Академия»,_2014.–

_224_с._

19. Хоменко,_А.Д._Работа_с_базами_данных_в_JavaFX/_А.Д._Хоменк

о,_С.Е._Ададуров._–_СПб.:_БХВ-Петербург,_2006.–_496_с.

20. Могилев,_А.В._Информатика:_учебное_пособие_/А.В._Могилев,_Н

.И._Пак,_А.В._Хеннер._–_М.:_Издательский_центр_«Академия»,_2004.–

_843_с.

21. Маторин,_С.И._Теория_систем_и_системный_анализ_/_C.И._Мато

рин,_О.А._Зимовец._–_Белгород:_Изд-во_НИУ_«БелГУ»,_2012.–_288_с.

22. Файзрахманов,_Р.А._Проектирование_автоматизированных_инфор

мационных_систем_на_основе_объектно-

ориентированного_подхода:_учебное_пособие_[Электронный_ресурс]_/_Р.А._

Файзрахманов,_А.В._Архипов._–_Пермь:_Изд-ва_Перм._гос._техн._Ун-

та,_2011.–_Режим_доступа:_http://elib.pstu.ru/docview/?id=2719.pdf.

23. Брябин,_В.М._Программное_обеспечение_персональных_ЭВМ_/_В

.М._Брябин._–_М.:_Наука,_1989.–_272с.

24. Лопатникова,_Е.А._Делопроизводство:_образцы_документов_с_ко

мментариями_/Е.А._Лопатникова._–_М.:Омега-Л,_2008.–_319_c.

25. Михелев,_В.М._База_данных_и_СУБД:_учебное_пособие_/_В.М._

Михелев._–_Белгород:_Изд-во_БелГУ,_2007.–_200с.

26. _Полякова,_Л.Н._Основы_Java:_Курс_лекций:_учебное_пособие_/_

Л.Н._Полякова._–_М.:_ИНТУИТ.РУ,_2004.–_368_с.

27. Смирнова,_Е.П._Делопроизводство_для_секретаря/_Е.П._Смирнова

,_Ю.А._Петрова._–_Саратов:_Корпорация_«Диполь»,_2012.–_165с.

28. Соколов,_В.С._Документационное_обеспечение_управления_/_В.С.

_Соколов_–_М.:_ФОРУМ_–_ИНФРА-М,_2005.–_233с.

Page 65: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

65

29. _Коберн,_А._Быстрая_разработка_программного_обеспечения_/_А.

_Коберн._–_М.:_Лори,_2013.–_336_с.

30. _Федоренко,_Ю.П._Алгоритмы_и_программы_на_Java_/_Ю._П._Ф

едоренко._–_М.:_ДМК_Пресс,_2010.–_544с.

ПРИЛОЖЕНИЕ_А

Контекстная_диаграмма_seo-оптимизации_сайта_А.1

Рисунок_А.1_–_Контекстная_диаграмма_seo-

оптимизации_коммерческого_сайта

USED AT: AUTHOR: N ikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

W ORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

TOP

NODE: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A-0

Страший

SEO-специалист

Младший

SEO-специалист

Текстзадания

Оптимизированный

сайт

Договор

на

услуги

Чек-листыАктуальные

методики

оптимизации

Системауправления

проектами

00 ?

SEO-оптимизация коммерческого сайта

Page 66: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

66

Декомпозиция_процесса_seo-

оптимизации_коммерческого_сайта_представлена_на_рисунке_А.2.

Рисунок_А.2_–_Декомпозиция_контекстной_диаграммы

Декомпозиция_процесса_«Техническая_оптимизация»_представлена_на_рисунке_А.3.

USED AT: AUTHOR: N ikita Pichugin DATE:

REV:PROJECT: N ikita Pichugin

28.05.2018

05.06.2018

NOTES: 1 2 3 4 5 6 7 8 9 10

WORKING

DRAFT

RECOMMENDED

PUBLICATION

READER DATE CONTEXT:

A-0

NODE: TITLE: NUMBER:SEO-оптимизация коммерческого сайта

A0

Страший

SEO-специалист

Договор на

услуги

Актуальные методики

оптимизацииЧек-листы

Младший

SEO-специалист

Текст

задания

Оптимизированный

сайт

Поставленные

задачи

Базово

опмитимизированный

сайт

Технический

оптимзированный

сайт

Технически и

семантически

проработанный

сайт

Система

управления

проектами

10 ?

Запуск проекта

20 ?

Базовая оптимизация

30 ?

Техническая оптимизация

40 ?

Анализ конкуренции

50 ?

Сбор схематического ядра

Page 67: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

67

Рисунок_А.3_–_Декомпозиция_процесса_«Техническая_оптимизация»

NOTES: 1 2 3 4 5 6 7 8 9 10

DRAFT

RECOMMENDED

PUBLICATION A0

NODE: TITLE: NUMBER:Техническая оптимизация

A3

Актуальные

методики

оптимизации

Младший

SEO-специалист

Чек-листы

Страший

SEO-специалист

Технический

оптимзированный

сайт

Базово

опмитимизированный

сайт Сайт с

оптимизированными

внешними ссылками

Просканированный

сайт

Сайт с

закрытыми

дублями

Система

управления

проектами

10 ?

Анализ и закрытие в нешних ссылок

20 ?

Краулинг сайта

30 ?

Закрытие дублей страниц

40 ?

Удаление 404 ссылок

Page 68: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

68

ПРИЛОЖЕНИЯ_Б

package_wsa.gui;

import_javafx.application.Platform;

import_javafx.beans.InvalidationListener;

import_javafx.beans.Observable;

import_javafx.beans.property.SimpleObjectProperty;

import_javafx.collections.FXCollections;

import_javafx.collections.ObservableList;

import_javafx.collections.ObservableMap;

import_javafx.concurrent.Worker;

import_javafx.fxml.FXML;

import_javafx.fxml.FXMLLoader;

import_javafx.geometry.Insets;

import_javafx.scene.Scene;

import_javafx.scene.chart.PieChart;

import_javafx.scene.control.*;

import_javafx.scene.layout.Background;

import_javafx.scene.layout.BackgroundFill;

import_javafx.scene.layout.CornerRadii;

import_javafx.scene.paint.Color;

import_javafx.scene.text.TextAlignment;

import_javafx.scene.web.WebView;

import_javafx.stage.Modality;

import_javafx.stage.Stage;

import_wsa.API.Wrap;

import_wsa.Settings;

import_wsa.exceptions.EventFrame;

import_wsa.session.*;

import_java.io.IOException;

import_java.net.URI;

import_java.nio.file.Path;

import_java.util.List;

public_class_TabFrame_extends_Tab_{

____private_Dominio_dom;

____private_Path_path;

____private_GestoreDownload_gd;

____private_DataGate_dg_=_null;

____private_Scene_rootScene;

____private_boolean_pausedByUser_=_false;

____private_boolean_paused_=_false;

____private_TableView<Wrap<String,_Integer>>_entersTable_=_new_TableView<>();

____private_TableView<Wrap<String,_Integer>>_exitTable_=_new_TableView<>();

Page 69: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

69

____private_TableColumn<Wrap<String,_Integer>,_String>_classEnters_=_new_TableColumn<>("n°_ссылк

и");

____private_TableColumn<Wrap<String,_Integer>,_Integer>_valueEnters_=_new_TableColumn<>("страни

цы");

____private_TableColumn<Wrap<String,_Integer>,_String>_classExit_=_new_TableColumn<>("n°_ссылки"

);

____private_TableColumn<Wrap<String,_Integer>,_Integer>_valueExit_=_new_TableColumn<>("страницы

");

____Stage_entST_=_new_Stage();

____Stage_exitST_=_new_Stage();

____{

________entST.setTitle("Входящие_ссылки");

________exitST.setTitle("Исходящие_ссылки");

________entersTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

________exitTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

________classEnters.setCellValueFactory(param_->_param.getValue().key);

________valueEnters.setCellValueFactory(param_->_param.getValue().val);

________classExit.setCellValueFactory(param_->_param.getValue().key);

________valueExit.setCellValueFactory(param_->_param.getValue().val);

________entersTable.getColumns().add(classEnters);

________entersTable.getColumns().add(valueEnters);

________exitTable.getColumns().add(classExit);

________exitTable.getColumns().add(valueExit);

________entST.setScene(new_Scene(entersTable));

________exitST.setScene(new_Scene(exitTable));

____}

____private_ObservableList<Wrap<String,_Integer>>_entersWrapList_=_FXCollections.observableArrayList

();

____private_ObservableList<Wrap<String,_Integer>>_exitWrapList_=_FXCollections.observableArrayList();

____private_ContextMenu_contestuale_=_new_ContextMenu();

____{

________try{

____________FXMLLoader_loader_=_new_FXMLLoader(getClass().getResource("./tabFrame.fxml"));

____________loader.setController(this);

____________rootScene_=_new_Scene(loader.load());

____________this.setContent(rootScene.getRoot());

________}catch_(Exception_ex){

____________ex.printStackTrace();

____________new_EventFrame(ex,_Platform::exit);_

________}

____}

____public_TabFrame(Dominio_dominio,_List<Seed>_s,_Path_p,_Integer_m,_boolean_run){

Page 70: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

70

________this.dom_=_dominio;___//_Il_dominio_di_visita

________this.path_=_p;__//_Il_path_di_visita

________this.setText("Preparazione_visita_in_corso");

________Thread_t_=_new_Thread(()_->_{

____________try_{

________________this.gd_=_new_GestoreDownload(dominio,_s,_path,_m,_this);__//_Inizializza_gestore.

____________}_catch_(Exception_e)_{

________________Platform.runLater(()->_new_EventFrame(e,_null));

________________Platform.runLater(()->_this.setText("Неудачный_визит"));

________________return;

________________//TODO_notify_the_users_about_IOExceptions.

____________}

____________if(dominio_==_null)_this.dom_=_Dominio.getDomainSneaky(gd.getDomain().toString());

____________Platform.runLater(()_->_this.setText(dom_!=_null_?_dom.toString()_:_"Неизвестно"));

____________this.tableData.setItems(gd.getDataStruct().getDataList());__

____________tableData.getItems().addListener((InvalidationListener)_observable_->_{

________________long_visitati_=_tableData.getItems().stream().filter(page_-

>_page.getExc()_==_null).count();

________________long_errori_=_tableData.getItems().stream().filter(page_-

>_page.getExc()_!=_null).count();

________________long_indom_=_tableData.getItems().stream().filter(Page::getPageLink).count();

________________Platform.runLater(()_->_{

____________________labelVisitati.setText(String.valueOf(visitati));

____________________labelErrori.setText(String.valueOf(errori));

____________________labelDominio.setText(String.valueOf(indom));

________________});

________________if_(gd.getPageWithMaxPointers().get()_!=_null_&&_dominio_==_null)_{____________

_______________________________//in_caso_di_recupero_visita

____________________Platform.runLater(()_->_{

________________________labelMaxPointers.setText(gd.getPageWithMaxPointers().getValue().ptrNumbe

rs().toString());

________________________Tooltip_tt_=_new_Tooltip(gd.getPageWithMaxPointers().getValue().getURI().t

oString());

________________________labelMaxPointers.setTooltip(tt);

____________________});

________________}

____________});

____________gd.getPageWithMaxLinks().addListener(observable_->_{

________________labelMaxLinks.setText(gd.getPageWithMaxLinks().getValue().linksNumber().toString());

________________Tooltip_tt_=_new_Tooltip(gd.getPageWithMaxLinks().getValue().getURI().toString());

________________labelMaxLinks.setTooltip(tt);

____________});

____________gd.getPageWithMaxPointers().addListener(observable_->_{

Page 71: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

71

________________labelMaxPointers.setText(gd.getPageWithMaxPointers().getValue().ptrNumbers().toStri

ng());

________________Tooltip_tt_=_new_Tooltip(gd.getPageWithMaxPointers().getValue().getURI().toString())

;

________________labelMaxPointers.setTooltip(tt);

____________});

__

____________this.pieEntranti.setData(gd.getEntrantiPieData());

____________this.pieUscenti.setData(gd.getUscentiPieData());

____________this.entersTable.setItems(entersWrapList);

____________this.exitTable.setItems(exitWrapList);

____________gd.getEntrantiPieData().addListener((InvalidationListener)_observable_->_{

________________entersWrapList.clear();

________________if_(gd_!=_null)

____________________gd.getEntrantiPieData().forEach(data_-

>_entersWrapList.add(new_Wrap<>(data.getName(),_(int)_data.getPieValue())));

____________});

____________gd.getUscentiPieData().addListener((InvalidationListener)_observable_->_{

________________exitWrapList.clear();

________________if_(gd_!=_null)

____________________gd.getUscentiPieData().forEach(data_-

>_exitWrapList.add(new_Wrap<>(data.getName(),_(int)_data.getPieValue())));

____________});

____________if_(run)_this.run();_/*_Avvia_la_visita_se_true_*/

________});

________t.start();

____

________this.setOnCloseRequest(e_->_{

____________MainFrame.getMainFrame().getTabs().remove(this);

____________new_EventFrame(e,_Alert.AlertType.WARNING,

____________________ButtonType.CANCEL,

____________________this::dispose,_()->_MainFrame.getMainFrame().getTabs().add(this));

________});

____}

____GestoreDownload_getWorker(){return_this.gd;}

____public__Worker.State_getStato(){

________return_gd.getStato();

____}

____private_void_cancel(){

________if_(gd_==_null)_return;

________if_(gd.getStato()_!=_null_&&_gd.getStato()_==_Worker.State.CANCELLED)_return;

________gd.cancel();

________Platform.runLater(()_->{

Page 72: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

72

____________pausa.setDisable(true);

____________cancella.setDisable(true);

________});

____}

____public_boolean_isPaused(){

________if_(!paused_&&_!pausedByUser)_return_false;

________return_true;

____}

____public_void_pause(){

________if_(gd_==_null)_return;

________if_(gd.getStato()_!=_null_&&_gd.getStato()_==_Worker.State.CANCELLED)_return;

________gd.pause();

________paused_=_true;

________Platform.runLater(()->_{

____________pausa.setText("Avvia");

____________if(gd.getStato()_==_Worker.State.SUCCEEDED_&&_!pausedByUser){

________________pausa.setDisable(true);}

________});

____}

____public_void_start()_{

________if_(gd_==_null_||_gd.getStato()_==_Worker.State.CANCELLED)_return;

________if(gd.getStato()_==_Worker.State.SUCCEEDED_&&_!pausedByUser)__return;

________gd.start();

________paused_=_false;

________pausedByUser_=_false;

________pausa.setText("Pausa");

________pausa.setDisable(false);

____}

____public_void_enablebuttons(){

________if(gd_==_null_||_gd.getStato()_==_Worker.State.CANCELLED)_return;

________System.out.println("heyyyyyyy");

________gd.start();

________pausa.setText("пауза");

________pausa.setDisable(true);

____}

____public_Dominio_getDom(){

________return_this.dom;

____}

____void_dispose(){

________try_{

____________gd.cancel();

________}

________catch_(Exception_e){return;}

________dom_=_null;

________gd_=_null;

Page 73: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

73

____}

____private_void_run(){

________System.out.println(gd.getStato());

________if_(gd.getStato()_!=_Worker.State.READY)_return;

________//TODO_unire_il_metodo_con_start()

________Thread_laucher_=_ThreadUtilities.CreateThread(()_->_this.gd.start());

________laucher.setDaemon(true);

________laucher.setName("Посмотреть_профиль");

________laucher.start();

________System.out.println("Запущенный_профиль");

____}

____public_void_addSeed(Seed_seed){

________this.gd.addSeed(seed);

____}

____public_ObservableList<Page>_getData(){

________return_FXCollections.unmodifiableObservableList(gd.getDataList());

____}

____public_ObservableMap<URI,_Page>_getDatamap(){

________return_FXCollections.unmodifiableObservableMap(gd.getResults());

____}

____private_void_loadInNewWindow(String_url){

________WebView_ww_=_new_WebView();

________Stage_stg_=_new_Stage();

________stg.setTitle(url);

________stg.setScene(new_Scene(ww));

________ww.getEngine().load(url);

________stg.show();

____}

____private_enum_links_{puntati,_puntanti}__

____private_void_showSelectedInNewWindow(links_tipo){

________Page_selectedElement_=_tableData.getSelectionModel().getSelectedItem();_//_Pagina_seleziona

ta.

________TableView<URI>_tabella_=_new_TableView<>();

________tabella.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

________TableColumn<URI,_String>_uriCol_=_new_TableColumn<>("URI");

________uriCol.setCellValueFactory(param_-

>_new_SimpleObjectProperty<>(param.getValue().toString()));

________TableColumn<URI,_Boolean>_uriStat_=_new_TableColumn<>("Загружено");

________tabella.getColumns().add(uriCol);

________tabella.getColumns().add(uriStat);

________ObservableList<URI>_data_=_FXCollections.observableArrayList();

_____

Page 74: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

74

________if_(tipo_==_links.puntanti)_{

____________data.addAll(selectedElement.getPtr());

____________uriStat.setCellValueFactory(param_->

____________________new_SimpleObjectProperty<>(selectedElement.getPtr().contains(param.getValue()

))

____________);

____________selectedElement.getPtrMap().addListener((InvalidationListener)_observable_->_{

________________data.clear();

________________data.addAll(selectedElement.getPtr());

____________});

________}else{

____________data.addAll(selectedElement.getPtd());

____________uriStat.setCellValueFactory(param_->

____________________new_SimpleObjectProperty<>(selectedElement.getPtd().contains(param.getValue(

)))

____________);

____________selectedElement.getPtdMap().addListener((InvalidationListener)_observable_->_{

________________uriCol.setVisible(false);

________________uriCol.setVisible(true);

____________});

________}

________tabella.setItems(data);

________Stage_st_=_new_Stage();

________st.setScene(new_Scene(tabella));

________st.initModality(Modality.APPLICATION_MODAL);

________st.setTitle((tipo_==_links.puntanti?_"Я_точно"_:_"правильно_сделал_")_+_tabella.getItems().si

ze());

________st.show();

____}

____@Override

____public_String_toString(){

________return_this.dom.getURI().toString();

____}

____private_@FXML___PieChart________pieEntranti;

____{

________pieEntranti.setLegendVisible(false);

________pieEntranti.setLabelsVisible(false);

________pieEntranti.setAnimated(false);

________pieEntranti.setOnMouseClicked(e_->_{

____________if_(e.getClickCount()_==_2){

________________entST.show();

____________}

Page 75: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

75

________});

____}

____private_@FXML___PieChart________pieUscenti;

____{

________pieUscenti.setLegendVisible(false);

________pieUscenti.setLabelsVisible(false);

________pieUscenti.setAnimated(false);

________pieUscenti.setOnMouseClicked(e_->_{

____________if_(e.getClickCount()_==_2){

________________exitST.show();

____________}

________});

____}

____private_@FXML___ToolBar_________toolbarTab;

____private_@FXML___TableView<Page>_tableData;

____private_@FXML_TableColumn<Page,_URI>_domColumn;

____private_@FXML_TableColumn<Page,_Boolean>_followColumn;

____private_@FXML_TableColumn<Page,_String>_statusColumn;

____private_@FXML_TableColumn<Page,_Integer>_linksNumColumn;

____{

________domColumn.setCellValueFactory(param_-

>_new_SimpleObjectProperty<>(param.getValue().getURI()));

________followColumn.setCellValueFactory(param_-

>_new_SimpleObjectProperty<>(param.getValue().getPageLink()));

________statusColumn.setCellValueFactory(param_-

>_new_SimpleObjectProperty<>(param.getValue().getExc()==_null_?_""_:_param.getValue().getExc().getM

essage()));

________linksNumColumn.setCellValueFactory(param_-

>_new_SimpleObjectProperty<>(param.getValue().linksNumber()));

________//_Menu_contestuale.

________MenuItem_info_=_new_MenuItem("Информация");

________info.setOnAction(e_->_{

____________if_(tableData.getSelectionModel().getSelectedItem()_!=_null)

________________new_InfoFrame(tableData.getSelectionModel().getSelectedItem()).show();

________});

________MenuItem_getPuntanti_=_new_MenuItem("Цель_этой_страницы.");

________getPuntanti.setOnAction(event_->_showSelectedInNewWindow(links.puntanti));

________MenuItem_getPuntati_=_new_MenuItem("Укажите_на_эту_страницу.");

________getPuntati.setOnAction(event_->_showSelectedInNewWindow(links.puntati));

________contestuale.getItems().addAll(info,_getPuntanti,_getPuntati);

________tableData.setContextMenu(contestuale);

________tableData.setOnMouseClicked(e_->{

____________Page_pagina_=_tableData.getSelectionModel().getSelectedItem();

Page 76: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

76

____________if_(e.getClickCount()_==_2_&&_pagina_!=_null){

________________if_(pagina.getExc()_!=_null){

____________________new_EventFrame(e,

____________________________Alert.AlertType.WARNING,

____________________________"Страница_была_загружен_с_ошибками.\n"_+

____________________________________"Открыть_все-равно?",

____________________________ButtonType.CANCEL,

____________________________()_-

>_loadInNewWindow(tableData.getSelectionModel().getSelectedItem().getURI().toString())

____________________);

________________}else_if_(pagina.linksNumber()_==_0_&&_pagina.getPageLink()){

____________________new_EventFrame(e,

____________________________Alert.AlertType.WARNING,

____________________________"На_странице_0_ссылок.\n"_+

____________________________________"Обычно_это_означает_файл_\n"_+

____________________________________"мультимедиа.\n"_+

____________________________________"Открыть_все-равно?",

____________________________ButtonType.CANCEL,

____________________________()_-

>_loadInNewWindow(tableData.getSelectionModel().getSelectedItem().getURI().toString())

____________________);

________________}else{

____________________loadInNewWindow(tableData.getSelectionModel().getSelectedItem().getURI().toSt

ring());

________________}

____________}

________});

____}

____private_@FXML___Label___________labelVisitati;

____private_@FXML___Label___________labelErrori;

____private_@FXML___Label___________labelDominio;

____private_@FXML___Label___________labelMaxLinks;

____private_@FXML___Label___________labelMaxPointers;

____private_MenuItem_pausa;

____private_MenuItem_cancella;

____private_@FXML___MenuButton______menuButtonAzioni;

____{

________aggiungiSeed.setOnAction(e_->_new_VisitFrame(this).show());

________pausa_=_new_MenuItem("Пауза");

________pausa.setOnAction(e_->_{

____________if_(gd.getStato()_==_Worker.State.CANCELLED)_return;

____________if_(!paused){

________________System.out.println("Пауза");

Page 77: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

77

________________pausedByUser_=_true;

________________pause();

____________}else{

________________System.out.println("Продолжить");

________________start();

____________}

________});

________cancella_=_new_MenuItem("Четкое_сканирование");

________cancella.setOnAction(e_->_{

____________new_EventFrame(e,_Alert.AlertType.WARNING,_"Удаление_посещения\n"_+

____________________"Осановить?Или_продолжить\n"_+

____________________"для_загрузки_страниц._Отменить",_ButtonType.CANCEL,_this::cancel);

________});

________MenuItem_operazioni_=_new_MenuItem("Операции");

________operazioni.setOnAction(event_->_{

____________OperationsFrame_of_=_new_OperationsFrame();

____________of.show();

____________of.select(1);

________});

________menuButtonAzioni.getItems().addAll(aggiungiSeed,_pausa,_operazioni,_new_SeparatorMenuIte

m(),_cancella);

____}

____{

________tableData.getSelectionModel().selectedItemProperty().addListener((observable,_oldValue,_newV

alue)_->_{

____________domColumn.setVisible(false);

____________domColumn.setVisible(true);

________});

____}

____private_void_updateNull(TableCell_cell){

________cell.setText(null);

________cell.setGraphic(null);

________cell.setBackground(null);

____}

____public_void_forceTableRefresh(){

________domColumn.setVisible(false);

________domColumn.setVisible(true);

____}

____{

________domColumn.setCellFactory(param_->

________________new_TableCell<Page,_URI>(){

____________________@Override

____________________public_void_updateItem(URI_item,_boolean_empty){

________________________super.updateItem(item,_empty);

_______________________________________________if_(item_==_null){

Page 78: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

78

____________________________updateNull(this);

____________________________return;

________________________}

_______________________

________________________setText(item.toString());

________________________setBackground(null);

________________________if_(param.getTableView().getSelectionModel().getSelectedItem()_==_null)_re

turn;

________________________Page_data_=_param.getTableView().getSelectionModel().getSelectedItem();_

//_prendo_la_pagina_per_comodit?.

________________________if_(data.getPtr().contains(item)_&&_!data.getPtd().contains(item)){

____________________________setBackground(new_Background(new_BackgroundFill(Settings.config().C

R_PTD.get(),_new_CornerRadii(0),_Insets.EMPTY)));

________________________}else_if(!data.getPtr().contains(item)_&&_data.getPtd().contains(item)){

____________________________setBackground(new_Background(new_BackgroundFill(Settings.config().C

R_PTR.get(),_new_CornerRadii(0),_Insets.EMPTY)));

________________________}else_if(data.getPtr().contains(item)_&&_data.getPtd().contains(item)){

____________________________this.setBackground(new_Background(new_BackgroundFill(Settings.confi

g().CR_PTDandPTR.get(),_new_CornerRadii(0),_Insets.EMPTY)));

________________________}

____________________}

________________});

________statusColumn.setCellFactory(param_->

________________new_TableCell<Page,String>(){

____________________@Override

____________________public_void_updateItem(String_item,_boolean_emtpy)_{

________________________super.updateItem(item,emtpy);

________________________if(item_==_null){

____________________________this.setText(null);

____________________________this.setBackground(null);

________________________}

________________________else{

____________________________if(item.equalsIgnoreCase("")){

________________________________this.setText("Загружено");

________________________________this.setTextFill(Color.GREEN);

________________________________this.setTextAlignment(TextAlignment.CENTER);

____________________________}

____________________________else{

________________________________this.setText(item);

________________________________this.setTextFill(Color.RED);

________________________________this.setTextAlignment(TextAlignment.CENTER);

____________________________}

Page 79: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

79

________________________}

____________________}

________________}

________);

________followColumn.setCellFactory(param_->

________________new_TableCell<Page,_Boolean>(){

____________________@Override

____________________public_void_updateItem(Boolean_item,_boolean_empty){

________________________super.updateItem(item,_empty);

____________________if_(item_==_null){

____________________________updateNull(this);

____________________________return;

________________________}______________________

________________________setText(item_?_"DA"_:_"Net");

________________________setBackground(null);

________________________if_(item_&&_Settings.config().CR_FOLLOW.getValue()){

____________________________setTextFill(Color.GREEN);

________________________}else_if_(!item_&&_Settings.config().CR_FOLLOW.getValue()){

____________________________setTextFill(Color.RED);

________________________}

____________________}

________________});

____}

}

package_wsa;

import_javafx.beans.property.ObjectProperty;

import_javafx.beans.property.SimpleBooleanProperty;

import_javafx.beans.property.SimpleObjectProperty;

import_javafx.scene.paint.Color;

import_javafx.scene.paint.CycleMethod;

import_javafx.scene.paint.LinearGradient;

import_javafx.scene.paint.Stop;

import_lombok.Cleanup;

import_lombok.Getter;

import_lombok.NonNull;

import_lombok.experimental.Accessors;

import_java.io.BufferedReader;

import_java.io.File;

import_java.nio.file.Files;

import_java.util.ArrayList;

import_java.util.HashMap;

Page 80: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

80

import_java.util.List;

import_java.util.Random;

public_class_Settings_{

____static_class_Setting{

________private_String_ID;________private_String_Value;

________Setting(String_id,_String__value){

____________ID__=_id;

____________Value_=_value;

________}

____}

____private_static_File_file_=_new_File("./Configure.ini");

____@Accessors(fluent=true)_@Getter(lazy_=_true)_private_static_final_Settings_config_=_new_Settings(

file);

____public__HashMap<String,_Setting>_settings_=_new_HashMap<>();

____public__Integer_RES_GRABBER_MILLIS_=_1000;

____public_final__SimpleBooleanProperty_CR_FOLLOW_=_new_SimpleBooleanProperty(true);

____public__boolean_RUN_WITH_LOGO_=_false;

____public__ObjectProperty<Color>_CR_PTD_=_new_SimpleObjectProperty<>(Color.VIOLET);_

____public__ObjectProperty<Color>_CR_PTR_=_new_SimpleObjectProperty<>(Color.YELLOW);__

____private__ObjectProperty<Stop[]>_stops_=_new_SimpleObjectProperty<>(new_Stop[]{

____________new_Stop(0,_CR_PTR.get()),

____________new_Stop(1,_CR_PTD.get())

____});

____public__ObjectProperty<LinearGradient>_CR_PTDandPTR_=_new_SimpleObjectProperty<>(

____________new_LinearGradient(0,_0,_1,_1,_true,_CycleMethod.NO_CYCLE,_stops.get())

____);

____private_Settings(File_conf){

________if(conf.exists())_{

____________try_(BufferedReader_file_=_Files.newBufferedReader(conf.toPath())){

________________file.lines();

________________return;

____________}_catch_(Exception_e)_{}

________}

____}

____public_boolean_save(){return_false;}

____public_<T>_T_getSetting(String_id){

________return_null;

____}

____public_void_addSetting(Setting_setting_){

Page 81: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

81

____}

}

package_wsa.API;

import_java.util.concurrent.Semaphore;

import_java.util.concurrent.atomic.AtomicBoolean;

import_java.util.function.Predicate;

public_class_ConditonSemaphore<T>_{

____private_volatile_Semaphore_semaforo_=_null;

____private_Predicate<T>_condition_=_null;

____private_T_conditionedobject_=_null;

____private_int_numeromaxthread_=_0;

____private_final_AtomicBoolean_disabled_=_new_AtomicBoolean(false);

____private_boolean_negated;

____public_ConditonSemaphore(Predicate<T>_pred_,_T_conditionedObject,_int_numeromaxthreads,_bo

olean_negate){

________semaforo_=_new_Semaphore(0);

________condition_=_pred;

________conditionedobject_=_conditionedObject;

________numeromaxthread_=_numeromaxthreads;

________negated_=_negate;

____}

____public_void_acquire()_throws_InterruptedException_{

________if(disabled.get())_return;

________if(negated)_{

____________if_(!condition.test(conditionedobject))_{

________________System.out.println("Locked__"_+_conditionedobject.toString());

________________semaforo.acquire();

____________}

________}

________else_{

____________if_(condition.test(conditionedobject))_{

________________System.out.println("Locked__"_+_conditionedobject.toString());

________________semaforo.acquire();

____________}

________}

____}

____public_void_release(){

________if(disabled.get())_return;

________if(negated)_{

____________if_(condition.test(conditionedobject))_{

________________semaforo.release(numeromaxthread_+_1);

________________semaforo_=_new_Semaphore(0);

____________}

Page 82: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

82

________}

________else_{

____________if_(!condition.test(conditionedobject))_{

________________semaforo.release(numeromaxthread_+_1);

________________semaforo_=_new_Semaphore(0);

____________}

________}

____}

____private_void_releaseForced(){

________semaforo.release(numeromaxthread_+_1);

________semaforo_=_new_Semaphore(0);

____}

____public_void_Disable(){

________disabled.set(true);

________this.releaseForced();

____}

____public_void_Enable(){

________disabled.set(false);

____}

}

Page 83: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

83

Обозначение Наименование Дополнительные

сведения Текстовые_документы 1._11070002.09.03.02.420.ПЗВКР Пояснительная_записка 98_с. Графические_документы 2._11070002.09.03.02.420.ДМВКР Демонстрационные_материалы_(презе

нтация) 12_сл.

Демонстрационные_материалы _(пл._ф._А4)

12_лист_*5_экз.

Другие_документы 3. Документы_на_компакт-диске 1_CD

11070002.09.03.02.420.ПЗВКР

Изм. Лист. Номер_докум. Подп. Дата Разработала Степанченко_В.С. Разработка_информационной_п

одсистемы_документационного_обеспечения_управленческой_деятельности_организации_ОО

О_«ДомРемСтрой»

Ведомость_ВКР

Лит. Лист Листов Проверила Щербинина_Н.В. У 99 100 Н.контр. Нестерова_Е.В. НИУ_«БелГУ»

гр.07001306 Утвердил Гахов_Р.П.

Page 84: ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И …€¦ · 2 РЕФЕРАТ Автоматизация_процесса_краулинга._– _Пичугин_Никита_Игоревич,_выпускная

84

Выпускная_квалификационная_работа_выполнена_мной_совершенно_са

мостоятельно._Все_использованные_в_работе_материалы_и_концепции_из_оп

убликованной_научной_литературы_и_других_источников_имеют_ссылки_на_

них.

«___»________________________г.

____________________ Пичугин_Н.И.

(подпись) (Ф.И.О.)