Тип работы:
Предмет:
Язык работы:


Создание поискового робота для автоматического определения индекса Хирша по страницам Web of Science и Scopus (по Research Id и Author Id)

Работа №42434

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы58
Год сдачи2019
Стоимость6500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
206
Не подходит работа?

Узнай цену на написание


Введение 3
1. Выбор стека технологий 7
1.1. Библиотеки Python 7
1.2. Возможности Grab 10
1.3. XPath 13
1.4. База данных SQLite 15
2. Анализ страниц сайтов 17
2.1. Scopus 17
2.2. Web of Science 19
2.3. Веб-сайт КФУ 22
3. Разработка программы 26
3.1. Работа с базой данных 27
3.2. Сбор тестовых данных 29
3.3. Парсер веб-страниц Web of Science 30
3.4. Парсер веб-страниц Scopus 32
3.5. Основной модуль 33
4. Анализ полученных результатов 34
Заключение 43
Список использованных источников 44
Приложение А 45
Приложение Б 48
Приложение В 50
Приложение Г 52
Приложение Д 54
Приложение Е


В современном мире практически любая информация хранится и распространяется во Всемирной паутине (WWW, World Wide Web), и к ней можно получить доступ из любого веб-браузера с помощью Глобальной сети (Интернет). Развитие Интернета и WWW привело к тому, что объём этой информации начал стремительно расти. И сейчас с каждым годом её количество возрастает в разы и даже нет возможности точно измерить эту величину.
Некоторым организациям для повышения эффективности своей деятельности очень важно уметь собирать и анализировать отзывы клиентов в социальных сетях или на сайтах. Необходимость в сборе и анализе большого количества данных имеют поисковые системы (например, Google) для индексации сайтов для более релевантной выдачи в результатах поиска. Образовательным учреждениям и различным формам организаций научных исследований часто требуется проводить оценку результативности научной деятельности своих сотрудников-учёных с помощью наукометрических показателей, одним из которых является индекс Хирша. И такой процесс оценки для огромного числа учёных вручную потребует много времени и сил. Большие массивы данных требуется также для анализа данных, различного рода рейтинговых сайтов, прогнозирования рынка, сбора статистических данных и т.д.
В результате стал возникать вопрос, каким же образом собирать и анализировать те огромные массы данных, которые хранятся в Интернете.
Так или иначе, чтобы собрать необходимую информацию и получить от неё пользу, нужно правильно извлечь, структурировать и собрать данные с веб-сайта. Если человек откроет любой сайт и посмотрит на страницу, то легко увидит текст, который несёт определённый для него смысл
Вот тут речь заходит о таком понятии как Web scraping (далее - веб- скрапинг). Веб-скрапинг - это извлечение данных с веб-сайтов. В основном, этот процесс является автоматизированным, т.е. выполняется программой, и состоит из следующих этапов: загрузка веб-страницы, парсинг документа, сбор данных, анализ результатов.
Основными проблемами, с которыми может столкнуться робот, реализующий процесс веб-скрапинга, являются нечёткая структура вебстраниц и механизм защиты от ботов.
В первом случае это связано с тем, что сайты предназначены для удобного восприятия информации людьми, а не для автоматического сбора данных и поэтому чаще всего такие веб-страницы не удобны для веб-скрапинга.
Во втором случае механизм защиты от ботов может включать в себя подтверждение капчи, аутентификацию пользователя, проверку заголовков запросов, скрытые поля данных в документе, анализ поведения пользователя и блокировка IP адресов. Такие меры предосторожности нужны владельцам сайтов для поддержки стабильного доступа к сайту, так как боты могут выполнять все действия с высокой скоростью, тем самым вызывая серьёзную нагрузку на сайт. Также таким способом могут предотвратить клонирование сайта конкурентами, которые пытаются собрать все данные со всех страниц.
В данной работе будет анализироваться структура веб-страниц сайтов Scopus и Web of Science для извлечения индекса Хирша.
«Scopus - крупнейшая единая база данных, содержащая аннотации и информацию о цитируемости рецензируемой научной литературы» [2].
«Web of Science - поисковая интернет-платформа, объединяющая реферативные базы данных публикаций в научных журналах и патентов, в том числе базы, учитывающие взаимное цитирование публикаций» [3].
«Индекс Хирша является количественной характеристикой продуктивности учёного, группы учёных, научной организации или страны в целом, основанной на количестве публикаций и количестве цитирований этих публикаций» [4].
В области создания программ для извлечения данных с веб-сайтов существует множество решений. Часть из них опирается на идею использования API (Application Programming Interface, интерфейс прикладного программирования), а другие отдают предпочтение специальным инструментам для веб-скрапинга. Рассмотрим достоинства и недостатки каждого подхода.
Преимущество API:
• быстрый ответ
• легальный доступ к ресурсу
• структурированный вид данных (JSON, XML)
• простота использования
• независим от языка и платформы
Недостатки API:
• не все веб-ресурсы имеют API
• часто требуется пройти аутентификацию
• не всегда бесплатно
• не всегда есть доступ ко всей информации
• ограничение числа запросов
• другие ограничения для различных типов аккаунтов
Почти все вышеприведённые недостатки существенны.
Преимущества веб-скрапинга:
• бесплатно
• без ограничений числа запросов
доступ практически в любой уголок сайта
Недостатки веб-скрапинга:
• вероятность блокировки IP адреса
• может потребоваться аутентификация пользователя
• скорость работы зависит от сайта и инструмента
• извлечённые данные нуждаются в обработке
• привязка к языку и платформе
• код программы не всегда простой
Существенными недостатками является первые два пункта.
В существующих работах данной области для извлечения информации из известных наукометрических баз данных используются такие популярные библиотеки Python как Beautiful Soup, Requests, Scrapy и Selenium, особенности и применение которых описал Райан Митчелл в своей книге [1].
В данной же работе, в отличие от других, будет использоваться подход с использованием инструмента для веб-скрапинга Grab, возможности которого будут рассмотрены позже.
Целью работы ставится разработка программы для получения индекса Хирша со страниц Scopus и Web of Science. Для демонстрации работы программа будет обрабатывать данные о сотрудниках Казанского Федерального Университета.
Поставленные задачи:
• Рассмотреть существующие решения
• Проанализировать структуры веб-страниц сайтов
• Разработать программу
• Провести анализ результатов работы программы


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения данной работы были решены все задачи и достигнута поставленная цель, т.е. было разработано программное решение в виде набора скриптов на языке Python для реализации автоматического определения индекса Хирша по страницам Scopus и Web of Science. С помощью этой программы можно собирать данные у учёных об их индексе Хирша, который поможет при оценке их научной продуктивности.
Для демонстрации работы программы в качестве входного набор данных был выбран персонал Казанского Федерального Университета. Информация о каждом сотруднике указана в его профиле на официальном сайте университета и является общедоступной для просмотра.
Полученные выходные данные были проанализированы, и для более наглядного представления результатов работы программы были построены различные диаграммы.



1. Митчелл Р. Скрапинг веб-сайтов с помощью Python / пер. с англ. А. В. Груздев. — М.: ДМК Пресс, 2016. - 280 с.:ил.
2. Scopus — Elsevier в России [Электронный ресурс] // URL: http://elsevierscience.ru/products/scopus/ (дата обращения 20.04.2019)
3. Web of Science — Википедия [Электронный ресурс] // URL: https://ru.wikipedia.org/wiki/Web of Science (дата обращения 20.04.2019)
4. Индекс Хирша — Википедия [Электронный ресурс] // URL: https://ru■wikipedia■org/wiki/Индекс Хирша (дата обращения 20.04.2019)
5. Web scraping — Wikipedia [Электронный ресурс] // URL: https://en.wikipedia.org/wiki/Web scraping (дата обращения 20.04.2019)
6. PYCURL 7.43.0.2 — PycURL Home Page [Электронный ресурс] // URL: http://pycurl.io (дата обращения 21.04.2019)
7. urllib3 — GitHub [Электронный ресурс] // URL: https://github.com/urllib3/urllib3 (дата обращения 21.04.2019)
8. Requests: HTTP for Humans™ — Requests 2.21.0 documentation [Электронный ресурс] // URL: https: //2. python-requests. org/en/master/ (дата обращения 21.04.2019)
9. beautifulsoup4 — PyPI [Электронный ресурс] // URL: https: //pypi. org/proj ect/beautifulsoup4/ (дата обращения 21.04.2019)
10. Scrapy — Wikipedia [Электронный ресурс] // URL: https://en.wikipedia.org/wiki/Scrapy (дата обращения 21.04.2019)
11. Welcome to Grab’s documentation! — Grab 0.6 documentation [Электронный ресурс] // URL: https://grablab.org/docs/ (дата обращения 21.04.2019)
12. SQLite - замечательная встраиваемая БД (часть 1) — Хабр [Электронный
ресурс] // URL: https://habr.com/ru/post/149356/ (дата обращения 21.04.2019)


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ