Программная система для анализа сходства тем иностранных новостных сайтов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.12.2019
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Аннотация

В современном мире новости, которые люди получают через газеты, телевидение и другие новостные источники иногда не освещают те или иные события, или преподносят их читателям и слушателям уже с определенным отношением к ним. Таким образом, общественное мнение, на события в мире, зачастую строится на мнениях людей, которые освещают эти новости. Идея данного проекта заключается в наглядном сравнении преподносимых новостей в тех или иных странах.

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

Итоговое приложение должно быть написано под операционную системы Windows версии 10. Основным языком написания кода является язык Python.

Введение

Актуальность работы. За последние годы новостные сайты стали основным источником новостей, следовательно, все сильнее растет зависимость общественного мнения от информации, опубликованной на этих сайтах. Это исследование направлено на отслеживание корреляции текущих новостей в разных странах в течение нескольких лет, а также на выявление сходств и различий в содержании рассмотренных новостных ресурсов. Разрабатываемое приложение должно позволить выделять все необходимые новостные статьи, избегая неактуальных новостей. Предполагается, что в результате, пользователь получит приложение для сравнение новостных статей, освещающих одно и то же событие, но размещенных на сайтах разных стран. Помимо всего прочего, код, который будет создан для очистки веб-страниц, также может быть использован в аналогичных исследованиях в других областях.

Главной целью данной работы является создание приложения, работающего на операционной системе Windows 10, написанного на языке программирование Python.

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

1. Написание программы, которая будет с помощью ссылок скачивать главные мировые новости с сайтов, опубликованные в течение нескольких лет. Язык написания программы Python. Программа также должна для каждого сайта в отдельности выбирать только нужную информацию. Так как будет осуществляться загрузка данных за несколько месяцев, стоит учесть фактор смены адресов для каждой даты. Еще одним аспектом будет реализация временных интервалов, так как загрузка данных происходит автоматически, количество запросов на определенных интервал времени может быть слишком большим, в таком случае сайт может заблокировать доступ.

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

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

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

5. Проанализировать скорость сбора и обработки данных, отследить правильность работы программы, сделать выводы по выбранному способу выгрузки и обработки данных.

1. Теоретическая часть

новостной сайт программный обеспечение

1.1 Определение актуальности работ

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

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

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

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

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

При выборе операционной системы под которую будет написано программное обеспечение, я принимала во внимание следующие критерии: удобство написания приложения, распространение той или иной операционной системы в мире, и в России в частности. Тремя вариантами операционных систем были: Windows, Linux, и IOS.

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

macOS - распространённая система, но при написании на macOS переделать приложение под другую ОС достаточно сложно, так же написание приложений и их отладка, должны проходить на компьютерах фирмы apple, что не удобно для меня как для разработчика.

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

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

1.2 Анализ аналогичных проектов

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

Один из таких проектов - это сайт «Found in Translation»[1]. Идея данного сайта описана в статье «Found in Translation» авторов Марко Турчи, Ильяса Флоунеса, Омара Али, которая описывает методы и результаты создания и работы сайта по обработки новостей. Создатели проекта реализовали сайт, который сканирует 560 новостных выпусков, на 22 различных языках из 27 стран Европейского Союза. Многие системы были предложены, чтобы раскрыть различные аспекты информации, содержащиеся в различных новостных изданиях. Набор систем классифицирует каждую переведенную статью по шести темам, а именно: "несчастные случаи", "бизнес", "преступление", "экологические проблемы", "политика" и "война и конфликт". Все новости, рассортированы по геолокациям и представлены в соответствии их темам на "тепловой карте" Европы, чтобы пользователи могли легко сравнить смещение темы в СМИ в разных странах ЕС.

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

Рис. 1. Страница сайта с наглядной демонстрацией ЕС на карте с выделением Австрии

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

В работе авторов этого приложения используют метод phrase based statistical machine translation (PBSMT), описанный в статье [2], который основан на использовании фраз, а не слов, который очень распространён для обработки естественного языка. Преимуществами данного метода являются:

· «many-to-many translation» что позволяет обрабатывать несоставные фразы

· использование местного контекста в переводе

· чем больше данных, тем больше фраз выучит система.

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

1.3 Обзор подходов к выгрузке

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

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

Для понимая метода выгрузки данных была рассмотрен пример выгрузки Мария Мансурова с сайта «https://www.kinopoisk.ru/»[3], для анализа своих оценок на фильмы, которые были просмотрены в течении нескольких лет. Для загрузки данных автор использует готовые методы и библиотеки, которые есть в языке Python. Основные библиотеки в ее работе это request и BeatifulSoup. Так же автор данной статьи столкнулся с проблемой, что сайт принимая запросы, решил, что они автоматически сгенерированы роботом и заблокировал доступ, данная проблема возникает при большом количестве запросов на короткий промежуток времени на любых сайтах. Эту проблему автор решает с помощью создания таймера.

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

1.4 Обзор подходов к обработке данных

Автоматическая обработка текстов (от англ «Natural Language Processing») и компьютерная лингвистика (от англ «Computational Linguistics») быстро развивающаяся область, которая привлекает к себе внимание все большего числа людей. Компьютерная лингвистика (КЛ) -- междисциплинарная область, которая возникла на стыке таких наук, как лингвистика, математика, информатика (от англ «Computer Science»), искусственный интеллект (от англ «Artificial Intelligence»). При изучении данной области необходимо хорошо разбираться не только в техническо-математических науках, но и знать базовые представления о строение языков. Так как текст состоит из набора символов, то необходимо знать о уровнях построения языка, которые хорошо описаны в статье [4]:

· уровень предложений (высказываний) -- синтаксический уровень;

· уровень слов (словоформ -- слов в определенной грамматической форме, например, ручка, дружбой) -- морфологический уровень;

· уровень фонем (отдельных звуков, с помощью которых формируются и различаются слова) -- фонологический уровень.

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

Если проводить сравнения синтаксического разбора английского языка и русского, можно заметить, что русский язык имеет более свободный порядок слов, это связано с большим количество вариаций окончаний. Так как в английском языке, морфология слова более ограничена, то там существует четко построенный порядок строения предложения. Так, например, в предложении на русском языке одно и тоже слово можно ставить в разные части предложения, при этом не теряя и не меняя суть выражения, в английском языке предложения сроятся более строго. В зависимости от времени и типа предложения будет меняться и структура, но также по определенным правилам. Например, рассмотрим предложение: «There lived an old wise woman in the forest», на русском языке данное предложение переводится, как «В лесу жила старая мудрая женщина», при этом если поменять местами некоторые лова, то смысл не будет теряться, например, «Старая мудрая женщина жила в лесу» или «Жила в лесу старая мудрая женщина», на английском же языке нельзя так свободно менять порядок слов.

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

Уровень фонем рассматривает строение слова на основе звуков, так как в данной работе не рассматривается никакой другой вариант кроме письменного, этот уровень не анализируется подробно.

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

Обработка естественного языка (далее NLP -- от англ «Natural language processing») - это наука, основанная на области изучения искусственного интеллекта, лингвистики и компьютерный наук. Методы обработки естественного языка хорошо описаны в статье [5], примеры реализации рассмотрены ниже.

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

Первое что рассматривается при изучении обработки естественного языка -- это Векторное представление (от англ «text embeddings»)[5]. Это метод представления строк, как векторов со значениями. Строится плотный вектор (от англ «dense vector») для каждого слова так, чтобы встречающиеся в схожих контекстах слова имели схожие вектора. Векторное представление считается стартовой точкой для большинства NLP задач и делает глубокое обучение эффективным на маленьких датасетах.

Word2vec -- набор моделей для анализа семантики естественных языков, принимает большой корпус (от англ «corpus») текста, в котором каждое слово в фиксированном словаре представлено в виде вектора. Далее алгоритм пробегает по каждой позиции t в тексте, которая представляет собой центральное слово c и контекстное слово o. Далее используется схожесть векторов слов для c и o, чтобы рассчитать вероятность o при заданном с (или наоборот), и продолжается регулировка вектор слов для максимизации этой вероятности. ля достижения лучшего результата Word2vec из датасета удаляются бесполезные слова (или слова с большой частотой появления, в английском языке -- «a», «the» , «of», «then»). Это поможет улучшить точность модели и сократить время на тренировку. Кроме того, используется отрицательная выборка (от англ «negative sampling») для каждого входа, обновляя веса для всех правильных меток, но только на небольшом числе некорректных меток.

Извлечение краткого содержания текста или от англ «Text Summarization» -- важный инструмент для помощи в интерпретации текстовой информации. Push-уведомления и дайджесты статей привлекают большое внимание, а количество задач по созданию разумных и точных резюме для больших фрагментов текста расте..

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

Данный метод можно реализовать с помощью в разных алгоритмов, один из них это расстояние Левенштейна [6] и расстояние Дамерау-Левенштейна [7]: оба представляют собой минимальное количество операций для преобразования одной строки в другую, отличаясь операциями -- Левенштейн предложил операции вставки, удаления и замены одного символа, а Дамерау дополнил их операцией транспозиции, т.е. когда два соседних символа меняются местами.

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

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

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

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

Регулярные выражения (от англ «regular expressions, RegExp») -- наборы символов, применяемых для поиска текстовых строк, соответствующих требуемым условиям. Результат применения регулярного выражения -- подмножество данных, отобранное согласно логике, заложенной в выражении. Для заложения логики в регулярные выражение используются специальные символы. Например символ «^» обозначает начало строки, символ «|» обозначает операцию «или», эти и многие другие символы используются для составления шаблона выражения. Так же существуют метасимволы, такие как «\b», которое используется для как граница между словами. Например, выражение /[а-яёА-ЯЁ] [а-яёА-ЯЁ][0-9]/u будет означать, что в начале идут 2 любые русские буквы, из-за особенность кодировки utf-8 букву «ё» надо указывать отдельно. Потом идет любая цифра от 0 до 9, в конце нужно прописывать u при работе с русскими буквами.

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

2.1 Обоснование методов парсинга сайтов

Первым этапом работы стал выбор методов и библиотек для парсинга сайтов.

· Requests [9] -- библиотека Python, которая элегантно и просто выполняет HTTP-запросы. С помощью методов, содержащихся в этой библиотеке можно выкачать код сайта, для его дальнейшей обработки.

· Beautiful Soup [10] - это парсер для синтаксического разбора файлов HTML/XML, написанный на языке программирования Python, который может преобразовать даже неправильную разметку в дерево синтаксического разбора. Он поддерживает простые и естественные способы навигации, поиска и модификации дерева синтаксического разбора. С помощью данной библиотеки можно выделить и скачать отдельные элементы страницы: время, текст, картинки, стили написания и многое другое.

· Time - модуль для работы со временем в Python. Функции данного модуля помогают сделать временные задержки, которые необходимы для отправки большого количества запросов на страницы.

При изучении литературы на тему парсинга сайтов, самыми часто используемыми методами становятся request и BeatifulSoup[2][4].

Requests -- библиотека Python, для выполнения HTTP-запросов. В requests имеется:

· множество методов http аутентификации;

· сессии с куками (небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя);

· полноценная поддержка SSL(криптографический протокол, который подразумевает более безопасную связь);

· различные методы вроде. json(), которые вернут данные в нужном формате;

· проксирование (перенаправление трафика);

· грамотная и логичная работа с исключениями.

Но несмотря на все плюсы использования данного метода, при создании запросов могут возникнуть ошибки. Чаще всего ошибки связанные с библиотекой requests делятся на 4 категории, которые хорошо описаны в статье [9].

1. Хост недоступен. Обычно такого рода ошибка происходит из-за проблем конфигурирования DNS. (DNS lookup failure)

2. "Вылет" соединения по таймауту.

3. Ошибки HTTP.

4. Ошибки SSL соединений (обычно при наличии проблем с SSL сертификатом: просрочен, не является доверенным и т.д.).

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

BeatifulSoup [10]- парсер для синтаксического разбора файлов HTML/XML. Данный метод помогает при навигации по дереву кода. Так же с BeatifulSoup можно быстро обращаться к определенным элементам с помощью названия тега или его свойствам. С помощью данного метода можно так же редактировать код. Для работы конструктору Beautiful Soup требуется документ XML или HTML в виде строки (или открытого файлоподобного объекта). Он произведет синтаксический разбор и создаст в памяти структуры данных, соответствующие документу. Из плюсов данного метода, по сравнению с другими похожими библиотеками является понятный синтаксис, что помогает сократить время разработки, но в то же время многие разработчики предпочитают его не использовать, так как он загружает процессор, что увеличивает время работы программы, для решения данной проблемы можно только разбирать ту часть кода, которая необходима для работы, а остальные удалять или просто не рассматривать.

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

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

Сайты, выбранные в данной работе:

1. https://www.independent.co.uk/

2. http://www.centralchronicle.com/

3. 9news.com.au/

4. https://www.timesofmalta.com

5. https://www.cbsnews.com/

Первым сайтом для выгрузки и обработки был выбран https://www.independent.co.uk/. Данный сайт является новостным сайтом Англии. Выбор данного сайта обусловлен наличием раздела «Archive», перейдя по ссылке которого, можно изменяя дату как на странице сайта, так и в адресной строке переходить на страницу главных новостей выбранной даты.

Основные моменты при работе с данным сайтом стали:

· автоматическое изменение даты, для парсинга новостей за промежуток времени;

· доступ к сайту;

· добавление временной задержки;

· создание файла и загрузка в него данных.

Для реализации загрузки данных была создана специальную функцию def English_news(p). В данную функцию передается параметр времени в строковом формате, параметр записывается в форме «2017-01-07», то есть сначала прописывается год, через тире ставится месяц, причем при дальнейшем создании файла, параметр обозначающий месяц записывается в виде двух цифр, дальше записывается тире и дата, так же ка и месяц при создании файла в виде двух цифр. На рисунке 2 представлен код, описанный выше.

Рис. 2. Демонстрация кода функции English_news

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

Первой проблемой при загрузки данных стал доступ к сайту. При отсутствии headers ответом на запрос становился загруженный код страницы, с сообщением об отсутствии информации, хотя при переходе по ссылкам через браузер страница выдавала новости. Решением данной проблемы стало добавление headers (смотреть рисунок 3)

Рис. 3. Headers

Далее с помощью beautiful Soup программа находит необходимые элементы и загружает их. При определении нужного блока и необходимых элементов, можно увидеть в какие теги заключен необходимый блок. Для того чтобы это выяснить необходимо перейти на страницу, с которой будет происходить выгрузка данных и открыть код страницы. При просмотреть каждого элемента в коде будет отображаться в каком именно блоке заключена информация о необходимом теге, с его названием и названием класса. Данный поиск происходит в ручную, но это необходимо сделать только на 1 странице, так как в дальнейшем, найденный тег и класс будет соответствовать необходимой информации. С помощью метода soup.find программа находит необходимый тег, и с помощью get_text выкачивает нужные данные. Пример работы функции soup.find представлен на рисунке 4. Результатом программы являются файлы, в которых хранится список главных новостей заданного дня.

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

Оставшиеся сайты для выгрузки стали:

· 9news.com.au/ - новостной портал Австралии;

· http://www.centralchronicle.com/ - новостной портал Индии;

· https://www.timesofmalta.com - новостной портал Мальт;

· https://www.cbsnews.com/ - новостной портал Соединенных штатов Америки.

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

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

Пример работы сайта 9news.com.au/. При открытии ссылки https://www.9news.com.au/world/1 будут продемонстрированы новости последних нескольких часов, таким образом меняя последние цифры мы переходим на новости, которые происходили раньше. В адресной строке браузера прописан адрес сайта и последней цифрой указан номер страницы, именно этот номер и будет менять программа для выгрузки новостей для определенной даты (смотреть рисунок 5). Еще одним важным отличием при реализации стало создание файла, так как новости за один и тот же день могут быть прописаны на нескольких страницах, а не на одной, как при парсинге сайта Англии, при создании и дальнейшем обращении с файлами необходимо указать режим «a», данный режим позволяет открывать дозапись.

Рис. 5. Вид страницы, с которой происходит выгрузка данных

Сайты http://www.centralchronicle.com/, https://www.timesofmalta.com и https://www.cbsnews.com/ устроены аналогичным образом. Меняя последние цифры в адресе сайта, пользователь получает доступ к новостям, которые были опубликованы ранее. Таким образом для получения кода этих сайтов необходимо задать цикл, который будет автоматически менять последние цифры url.

При реализации выгрузки данных с сайта https://www.cbsnews.com/ проблемой так же стало, что тег, который используется при инициализации необходимых новостей, так же используется для инициализации последних новостей, которые появляются при переходе на каждую страницу. Чтобы не скачивать новости, которые не подходят под временной диапазон в программе прописано условие на формат времени, если последний символ даты равен символы «О» значит, эта новость не будет проходить, так как в необходимых новостях последним символов является последняя цифра года, а, когда дата заканчивается на «О» значит, что последнее слово было «AGO», что означает последние новости.

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

· def format_month(mon);

· def format_data_australua(info);

· def format_data_india(info).

Функции format_data_australua, format_data_malta, format_data_USA и format_data_india являются основными для преобразования даты в удобный формат, что необходимо при создании файлов. В них с помощью модуля str удаляется ненужные символы, а необходимые приводятся в нужный формат. Например, на представленном скриншоте показана функция format_data_india (см. рисунок 6), где можно увидеть применение функции str.find для нахождения необходимых элементов в строке, а так же другие методы для работы со строками, которые позволяют выделять нужные части, складывать и удалять ненужные части строки. Данные функции являются свойственными только для определенной страны и сайта, нельзя использовать format_data_india для редактирования даты другой страны, кроме Индии, так как тогда будут возникать ошибки. Это связано с тем, что каждый сайт пишет время по-разному, меняя местами месяц, год и дату, добавляя время и другое. Так же на сайте https://www.cbsnews.com/ при отображении новости, которые выходили в текущем году не отображают год, а только число и месяц, то есть необходимо было добавить при создании файла год, для удобной идентификации файлов в дальнейшем.

Рис. 6. Демонстрация кода функции format_data_india

В вспомогательной функции format_month идет преобразование письменного (полного или сокращенного) значение месяца в его цифровое представление. Данная функция является приемлемой для изменения месяца в любой функции для любого сайта.

Существенным минусом данной программы является долгая работа программы. Это связано с временным интервалом между отправкой запросов, таким образом, чтобы выгрузить данные с 5 сайтов за 15 месяцев необходимо около 60 минут. Решением данной проблемы может стать сохранения данных в самой программе, но тогда вес программы станет намного больше, хотя и данную программу можно будет переносить на разные устройства без дальнейшей загрузки данный. Также программа при небольшом измении может работать на других датах, а при хранении данных в самой программе, при изменении дат, придется каждый раз обновлять данные. Вторым решением может стать уменьшение времени ожидания ответов от сайта, но тогда сайт может считать такую активность автоматически сгенерированный, что влечет либо к дополнительным проверкам, либо к блокировке ответов на некоторый период времени.

2.2 Создание словаря

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

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

· временной промежуток;

· на основании каких критериев будут отбираться регулярные выражения.

Так как у меня происходит анализ Англии, Мальты, Австралии, США и Индии, то выбор страны и сайта для создания словаря был именно между этими странами. Сайт Индии сразу является неподходящим, так как проведя анализ сайта, можно сделать вывод, что количество главных новостей, которые публикуют на сайте, намного ниже действительного, или по крайней мере ниже количества публикуемых новостей на сайтах других стран. Сайт Англии https://www.independent.co.uk/ публикуют самое большое количество новостей в день, поэтому изначально этот сайт и был выбран для создания словаря

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

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

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

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

· имена и фамилии;

· названия стран, городов, штатов и другое;

· названия организаций;

· наименования фильмов, книг и другое;

· наименования должностей.

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

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

Еще одним важным критерием стало насколько часто то или иное выражение встречается в новости. Для решения этой задачи использовалась функция frequency, данная функция позволяет при подаче в нее данных выявить насколько часто то, или иное выражение часто встречается.

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

· артикли;

· вопросы;

· местоимения;

· числа и числовые обозначения;

· местоимения;

· обобщающие слова (Women, Human, life, new, young и другое).

2.3 Обработка данных

Третьим этапом разработки является написания кода для обработки данных. Метод, используемый при разработке этого этапа работы это FuzzyWuzzy. Библиотека FuzzyWuzzy [11]- метод, который используется для вычисления совпадений строк с помощью вычисления расстояния Левенштейна.

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

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

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

Для решения данной задачи необходимо было реализовать функцию сравнения данных словаря и данных новостей, для простого перебора строк занял бы слишком много времени. Для решения этой задачи был подключён метод FuzzyWuzzy. Данный метод имеет 4 очень удобные функции, которые немного схожи в своей работе (смотреть рисунок 7).

· Функция partial_ratio или частичное соотношение. Данная функция показывает отношение самой подобной подстроки.

· Функция ratio или коэффициент сортировки токенов .

· Функция token_sort_ratio или соотношение токенов. Данная функция измеряет сходства последовательностей, сортирующих токен перед сравнением.

· Функция token_set_ratio. Данная функция находит все буквенно-цифровые маркеры в каждой строке.

Рис. 7. Демонстрация работы функций метода FuzzyWuzzy.

После анализа всех возможных вариантов, для реализации кода была выбрана функция fuzz.token.set_ratio. Данная функция на вход получает два аргумента строкового типа. Первый аргумент -- это строка, которую необходимо проверить, а второй аргумент, это строка, в которой необходимо проверить совпадение с первым аргументом. Эта функция не дает прямого ответа, присутствует ли первая строка во второй, а дает процент наличия слова, при отсутствии слова функция выдаст 0, если, например, в слове будет опечатка он покажет около 90, а при полном совпадении соответственно 100. Так как новости -- это официальный источник информации, то вариант, что в них может быть опечатка не будет рассматриваться в этой работе. Таким образом с помощью этой функции программа будет выбирать только те новости, в которых есть совпадение с регулярными выражениями, которые были заданы ранее.

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

Следующим шагом в разработке была реализация сравнения новостей разных стран между друг другом. Для решения этой задачи была использована функция fuzz.token.set_ratio описанная выше. Только для решения этой части необходимо было понять, при каком коэффициенте новости будут действительно соответствовать. На рисунке 7 приведены результаты работы программы с коэффициентами, которые показывает функция fuzz.token.set_ratio.

Рис. 7. Демонстрация работы функции fuzz.token.set_ratio

Сравнив новости и коэффициент fuzz.token.set_ratio, который показывает на сравнениях двух конкретных новостей была выбрана граница коэффициента, по которой будут происходить дальнейший расчет. По проведенным тестам этот коэффициент составляет от 40 и больше, именно при такой границы содержание новостей будет похоже наиболее всего и при этом не будут отметаться новости об одних и тех же вещах, но написанные по-разному.

2.4 Написание приложения

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

Создание приложений для операционной системы довольно распространенная задаче и существуют много редакторов, которые облегчают их написание. Одно из таких приложений это pyQt5, руководство по работе с которым хорошо изложено в статье [12]. Данное приложение устанавливается одной командной в терминале pip install pyqt5. При установке так же загружается приложение Qt designer, в нем и создается визуальное представление приложения.

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

· настройка даты, для этого использовался Data Edit;

· вывод новостей по странам, для этого используется Table Widget;

· вывод результатов сравнения, для этого используется List Widget;

· кнопка для запуска приложения, после ввода даты, для этого используется Push Button.

Qt designer устроено таким образом, что разработчик может не прописывать каждую функцию сам, а создавать виджеты, а так же устанавливать их местоположения просто перенося элементы в то или иное место на панели создания (смотреть рисунок 8).

Рис. 8. Окно приложения Qt designer

После создания приложения в Qt designer, код автоматически сгенерируется, в нем будут указаны функции, местоположения и другое. При сохранении приложения, файл будет в формате ui. Для удобства в терминале функцией pyic5 name.ui -o name.py файл будет конвертирован в формат языка python. Таким образом вся дальнейшая разработка будет проходит уже на языке python. Открыв файл, на странице кода видно подключённые библиотеки, которые необходимы при дальнейшем использовании выждете, class, в котором прописываются функции и функцию main, в котором происходит запуск приложение, а также вызов этой функции. (смотреть рисунок 9).

Рис. 9. Демонстрация кода при конвертации из формата .ui в формат .py.

После запуска приложения и введения нужной даты, пользователю необходимо нажать кнопку, для его активизации используется функция self.ui.pushButton.clicked.connect(self.btnClicked). Здесь, btnClicked - это слот, или функция, которая будет выполнена после того, как вы кликните на QPushButton.

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

Следующим шагом является заполнение таблицы новостями (смотреть рисунок 10).

Рис. 10. Заполнение столбца новостей Англии

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

После заполнения таблицы происходит заполнение поля listWidget. В данной поле выводится наименование двух стран, а в следующих двух строках выводится содержание новостей, которые программа считает схожими. Функция сравнения двух новостей прописана в части обработки, но для реализации приложения необходимо было добавить циклы, чтобы обрабатывалась каждая страна. Таким образом было создано 4 цикла, сначала сравнивают новости Англии со всеми странами, потом новости Мальты со всеми, кроме Англии, чтобы избежать повторения, и дальше по аналогии. Так же в данную часть входит вывод результатов в listWidget(смотреть рисунок 11). Для заполнения listWidget используется функция listWidget.insertItem(I s) которая вносит данные s в строку i, где i это номер строки. Так же нумерация строк идет с начала запуска программы и не обнуляется, после занесения записи i увеличивается на 1. При нахождении совпадения в listWidget заносятся 3 строки, наименование стран и две новости.

Рис. 11. Демонстрация кода для сравнения новостей Англии и Австралии и вывод результатов в listWidget

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

Рис. 12. Окно программы

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

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

3.Результаты

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

Для более детального изучения корреляции новостей с помощью программы было выгружены новости за 2 недели в период с 01.12.2018 по 14.01.2018, данная дата была выбрана совершенно рандомно для чистоты эксперимента. Результаты представлены на графике на рисунке 13.

Рис. 13. График корреляции новостей за две недели

На вышепредставленном графике представлены результаты работы программы. По оси ox приставлены даты, за которые проводится сравнение, по оси oy представлено количество совпадений новостей по 2 странам. Каждая из линий, представленных на графике, показывает количество совпадений по новостям среди 2 стран, всего таких линий 10, на количество возможных пар. Каждая пара представлена своим цветом.

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

Рис. 14. Ответ программы на дату 12.12.2018

Как видно из выше представленного скриншота, в ответ программа будет выдавать новости, в которых есть ключевые слова Theresa, May, Theresa May, UK и другие. Если просмотреть все новости, которые выдаст за этот день, то можно заметить, что основной темой являлась новость, которая в русском языке транслируется как «Депутаты от Консервативной партии проведут голосование по вопросу о вотуме недоверия лидеру партии, премьер-министру Великобритании Терезе Мэй. Если Мэй не получит поддержку большинства, будут назначены внеочередные выборы. Главный камень преткновения -- условия выхода Великобритании из Евросоюза». По графику можно заметить, что больше всего новостей выходило у Мальты и Англии, это связано с тем, что новость касается непосредственно Англии, а Мальта, как страна, входящая в Евросоюз, непосредственно тесно касается этой темы.

...

Подобные документы

  • Страницы сайтов как набор текстовых файлов, размеченных на языке HTML. Виды сайтов, их классификация. Характеристика сайта: статический или динамический. Проблема безопасности web-сайта. Исследование программного обеспечения и языков программирования.

    дипломная работа [850,3 K], добавлен 11.01.2015

  • Анализ аппаратных и программных средств предприятия ТОО "Alicesystems", занимающегося разработкой web-сайтов. Выбор структур, топологий и технологий разработки системы. Технологии создания сайтов и выбор площадки. Описание программно-аппаратных средств.

    отчет по практике [690,9 K], добавлен 29.05.2015

  • Анализ средств формирования рейтинга Интернет-сайтов. Критерии оценки веб-сайтов при проведении Интернет-конкурса. Выбор браузера и разработка архитектуры плагина. Описание плагина средствами языка UML. Разработка и реализация программных модулей.

    дипломная работа [3,2 M], добавлен 12.08.2017

  • Классификация сайтов по технологиям, влияющим на дизайн и функциональность. Исследование языков программирования для web-сайтов. Характеристика особенностей личных и коммерческих сайтов. Разработка и реализация сайта Института математики и информатики.

    отчет по практике [5,1 M], добавлен 09.12.2014

  • Современные тенденции разработки и принципы классификации web-сайтов. Сайт как средство развития бизнеса. Технологии, применяемые при разработке web-сайтов, системы управления контентом. Разработка web-сайта для ЗАО "Кондитерская фабрика "Саратовская".

    дипломная работа [4,1 M], добавлен 01.10.2012

  • Критерии оценки сайтов при проведении Интернет-конкурса. Примеры популярных ресурсов с возможностью оценивания. Программная реализация плагина с использованием языков программирования HTML, CSS, PHP, JavaScript. Оценка качества разработанного продукта.

    дипломная работа [2,6 M], добавлен 27.10.2017

  • Управление электронным бизнесом. Изучение технологии создания сайта предприятия с использованием выбранных бесплатных конструкторов сайтов. Сравнительный анализ макетов сайтов, разработанных для организации с помощью конструкторов "Nethouse" и "А5".

    курсовая работа [867,2 K], добавлен 23.03.2016

  • Обзор методов и средств по созданию и проектированию Web–сайтов. Языки программирования для создания Web–сайтов. Анализ достоинств и недостатков систем управления сайтом CMS. Разработка дизайна и макета сайта. Расчет затрат на разработку продукта.

    дипломная работа [1,1 M], добавлен 02.06.2016

  • Разработка сайта для осведомления любителей компьютерных игр о новинках, публикации новостей, участия в обсуждении игр. Основные понятия Web-технологий. Особенности установки пакета Apache и программы создания и редактирования Web-сайтов Joomla 1.5.

    дипломная работа [5,4 M], добавлен 06.07.2012

  • История появления первого в мире сайта info.cern.ch в 1991 году. Страницы сайтов как набор текстовых файлов, размеченных на языке HTML. Использование конструктора при разработке сайтов. Создание сайта "с нуля", разработка дизайна, верстка, оформление.

    реферат [21,5 K], добавлен 26.05.2015

  • Разработка структуры web-сайта новостей, наполнение его содержательной информацией. Выбор платформы для создания сайта, его обоснование. Установка и редактирование шаблона, создание разделов и категорий. Добавление материала на сайт, его тестирование.

    дипломная работа [1,5 M], добавлен 24.01.2016

  • Анализ основных средств для создания Web-сайтов. Обзор и сравнительный анализ СУБД, применяемых в Web-программировании. Анализ методов продвижения Web-сайтов. Проектирование Web-сайта в области коммунального хозяйства. Разработка графического дизайна.

    курсовая работа [3,0 M], добавлен 07.11.2013

  • Анализ современных концепций построения сайтов онлайн-тестирования. Разработка автоматизированного тестирующего комплекса – обучающего Web-приложения, позволяющего проводить контроль уровня знаний математики с применением языка программирования Php.

    дипломная работа [865,8 K], добавлен 24.06.2013

  • Анализ дизайна сайта с точки зрения его привлекательности для пользователей и на предмет удобства. Факторы, влияющие на восприятие пользователем информации. Основные критерии оценки туристических web-ресурсов. Сравнение сайтов Trаvel.ru и "100 дорог".

    реферат [18,6 K], добавлен 19.06.2011

  • Знакомство с основными принципами построения Web-сайтов. Рассмотрение этапов создания простой страницы HTML. Анализ способов форматирования сайтов. Общая характеристика видов списков: маркированные, нумерованные. Особенности таблиц каскадных стилей.

    курсовая работа [2,5 M], добавлен 18.07.2014

  • История образования ТОО "ABC Design". Разработка программного и информационного обеспечения компьютерных сетей, автоматизированных систем вычислительных комплексов и сервисов. Работа с CRM системой Task Manager и с панелью управления сайтов JOOMLA.

    отчет по практике [727,4 K], добавлен 13.07.2017

  • Выбор типовой архитектуры. Схема работы Shell-скрипта. Вывод информации на сайт. Обеспечение его безопасности. Внедрение проекта на сервер. Построение заключительного запроса. Оценка времени работы приложения. Настройка авторизации по открытому ключу.

    курсовая работа [950,6 K], добавлен 22.03.2018

  • Анализ существующих сайтов образовательный учреждений учебных сайтов Астраханской области. Обзор среды реализации разработки веб-сайта. Требования к официальным сайтам образовательных учреждений. Разработка логической структуры веб-сайта колледжа.

    дипломная работа [6,1 M], добавлен 10.06.2014

  • Психолого-педагогические основы формирования системно-деятельностного подхода обучения. Обзор существующих конструкторов сайтов, обоснование выбора сервиса Wix. Ознакомление обучающихся с правилами безопасности в сети Интернет. Технологии создания сайтов.

    дипломная работа [428,9 K], добавлен 07.09.2017

  • Анализ систем статистики сайтов и факторы, учитываемые при оценке посещаемости. Наиболее популярные счетчики. Построение модели оценки посещаемости сайта skalyariya.ru. Анализ матрицы коэффициентов парных корреляций и построение уравнения регрессии.

    отчет по практике [135,5 K], добавлен 28.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.