Бакалавриат
2025/2026





Сбор данных с Web-scraping и API для социально-научных исследований
Статус:
Курс по выбору (Политология)
Кто читает:
Департамент политики и управления
Где читается:
Факультет социальных наук
Когда читается:
4-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
44
Программа дисциплины
Аннотация
Главная цель курса – научить студентов автоматизированно собирать данные для социально-научных исследований и прикладных проектов с использованием языка программирования Python. Курс состоит из трех блоков: парсинг html и веб-страниц простых веб-сайтов с помощью beautifulsoup и requests, автоматизированный сбор данных через API, работа с динамическими страницами веб-сайтов с помощью Selenium.
На каждом из занятий студенты параллельно с преподавателем и также в рамках самостоятельного решения задач практикуют навыки автоматизированного сбора данных на Python на примере реально существующих сайтов или API. Кроме задач во время семинара, студенты также могут дополнительно потренироваться с помощью задач, выложенных в SmartLMS.
Курс включает несколько элементов оценивания: домашние задания, проверочные работы на занятиях, финальный проект. Домашние задания предполагают реализацию небольшого пошагового проекта по сбору данных. Проверочные работы представляют из себя самостоятельное решение нескольких задач в SmartLMS по ранее пройденным темам и выполняются самостоятельно в аудитории. Финальный проект предполагает подготовку полноценного проекта по сбору данных с использованием библиотеки Selenium. В течение курса студентам также будет предложено решить несколько бонусных домашних заданий на дополнительный балл.
В результате освоения курса студенты познакомятся с языком разметки HTML, освоят практические навыки web-scraping’а данных с html-страниц, работы с API социальных сетей и других сайтов, напишут несколько работающих скраперов на языке программирования Python. Регулярная практика навыков автоматизированного сбора данных позволит им писать новые скрипты для сбора и предобработки данных из открытых источников и в будущем самостоятельно собирать данные для социально–научных исследований и прикладных проектов.
Этот курс рассчитан на студентов, успешно освоивших курс “Введение в программирование в Python”.
Цель освоения дисциплины
- В результате освоения курса студенты познакомятся с языком разметки HTML, освоят практические навыки web-scraping’а данных с html-страниц, работы с API социальных сетей и других сайтов, напишут несколько работающих скраперов на языке программирования Python. Регулярная практика навыков автоматизированного сбора данных позволит им писать новые скрипты для сбора и предобработки данных из открытых источников и в будущем самостоятельно собирать данные для социально–научных исследований и прикладных проектов.
Планируемые результаты обучения
- Обладает навыками web-scraping
- Собирать данные с помощью web-scraping, парсить данные и сохранять их в табличном виде
- ● Студент владеет навыками работы с базовыми типами данных в Python; ● Студент владеет основами синтаксиса HTML, умеет работать с тегами и атрибутами; ● Студент владеет навыками работы с веб-страницами с помощью BeautifulSoup; ● Студент владеет навыками работы с браузером с помощью Selenium; ● Студент умеет отправлять запросы к API с помощью Python.
- Раздел формирует компетенции в области оценки качества, полноты, смещенности и ограничений данных, собранных автоматизированно с использованием web-scraping и API
Содержание учебной дисциплины
- Введение в web-scraping. Основы html. requests, BeautifulSoup.
- EDA для данных, собранных с использованием web-scraping'а или API
- Этика исследований, основанных на открытых данных.
- Работа с API.
- Библиотеки os и glob
- Управление браузером и работа с динамическими сайтами с помощью Selenium.
Элементы контроля
- ПроектПроект представляет из себя полноценный проект по сбору, обработке и анализу данных с использованием библиотеки Selenium на Python
- Домашнее заданиеДва домашних задания представляют из себя мини-проекты по автоматизированному сбору данных
- Проверочные работыПроверочные работы представляют из себя решение нескольких задач на ранее пройденные темы. Задачи открываются для решения и далее автоматически проверяются в SmartLMS. Проверочные пишутся офлайн в аудитории, обычно в конце занятия, и выполняются индивидуально. Возможно использование документации библиотек Python, не допускается использование посторонней помощи и нейросетей. Вес проверочных работ отличается в зависимости от темы и сложности занятия. Для подготовки к проверочным работам студенты могут использовать материалы занятий, прорешивать задачи в материалах занятий, а также тренироваться на заранее подготовленных преподавателем задачах в курсе в SmartLMS.
Промежуточная аттестация
- 2025/2026 2nd module0.2 * Домашнее задание + 0.4 * Проверочные работы + 0.4 * Проект
Список литературы
Рекомендуемая основная литература
- C#. Объектно-ориентированное программирование : учеб. курс, Васильев А.Н., 2012
- C#. Основы программирования : учебное пособие, Тюкачёв, Н. А., 2017
- C#. Программирование на языке высокого уровня, учебник, 432 с., Павловская, Т. А., 2007
- Ian Pouncey and Richard York - Beginning CSS : Cascading Style Sheets for Web Design - John Wiley & Sons, Incorporated, 2011-466 - Текст электронный - https://ebookcentral.proquest.com/lib/hselibrary-ebooks/detail.action?docID=693510
- Mislove, A., & Wilson, C. A Practitioner’s Guide to Ethical Web Data Collection. In (Ed.), The Oxford Handbook of Networked Communication. : Oxford University Press,. http://www.oxfordhandbooks.com/view/10.1093/oxfordhb/9780190460518.001.0001/oxfordhb-9780190460518-e-27.– ЭБС: Oxford Handbooks Online
- Тестирование веб-API, Винтерингем, М., 2024
Рекомендуемая дополнительная литература
- Алгоритмы неформально : инструкция для начинающих питонистов, Такфилд, Б., 2023