Web-scraping: сбор данных из баз данных и интернет-источников: различия между версиями
(→Проект) |
|||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 122: | Строка 122: | ||
* Описание и критерии: [https://www.dropbox.com/scl/fi/lhg9rrfmzrx24gkx6ltdy/PROJECT-desc.pdf?rlkey=y8bhown5e4slpdnm4cqll0oht&dl=0 файл]. | * Описание и критерии: [https://www.dropbox.com/scl/fi/lhg9rrfmzrx24gkx6ltdy/PROJECT-desc.pdf?rlkey=y8bhown5e4slpdnm4cqll0oht&dl=0 файл]. | ||
− | * Дедлайн: 30 марта 15:00 | + | * Дедлайн: '''30 марта 15:00''', выполненные проекты высылаются на почту преподавателя. |
− | + | ||
+ | Полезные материалы для проекта: | ||
+ | |||
+ | * Создание и установка приложения streamlit: вводная [https://github.com/allatambov/WebScrape24/blob/main/streamlit-steps.ipynb инструкция] с примером приложения с двумя вкладками. | ||
+ | * Пример приложения streamlit с генерацией облаков слов для английского языка: [https://raw.githubusercontent.com/allatambov/WebScrape23/main/myapp.py myapp.py], [https://www.dropbox.com/scl/fo/dn6ifkzn3grb272186o1d/h?dl=0&rlkey=ezus3g9yloetkce1rg3em9qe5 txt-файлы]. | ||
+ | * Пример [https://github.com/allatambov/WebScrape24/blob/main/widgets-ex.ipynb ipynb-файла] с виджетами для элементов меню. | ||
+ | * Официальная [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20List.html документация] библиотеки ipywidgets для виджетов. |
Текущая версия на 18:43, 26 марта 2024
Это страница практикума «Web-scraping: сбор данных из баз данных и интернет-источников», читаемого на программе «Психология» в 2023/2024 учебном году.
Практические занятия ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Среда для работы
- 3 Материалы курса
- 3.1 Неделя 0. Напоминания про Python и Jupyter Notebook
- 3.2 Неделя 1. Язык HTML и его особенности. Знакомство с BeautifulSoup
- 3.3 Неделя 2. Парсинг с BeautifulSoup: поиск по тэгам и атрибутам
- 3.4 Неделя 3. Обработка текстовых данных и регулярные выражения
- 3.5 Неделя 4. Введение в работу с API
- 3.6 Неделя 5. Работа с API ВКонтакте. Базовый анализ тональности текстов
- 3.7 Неделя 6. Управление браузером с Selenium
- 3.8 Неделя 7. Управление браузером с Selenium: продолжение
- 4 Домашние задания
- 5 Проект
Правила игры
- Формула оценки: 0.5 × ДЗ + 0.5 × Проект, программа курса.
- Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%. Домашние задания, сданные через неделю после указанного срока и позже, не принимаются и не оцениваются.
- Форма для рассылки.
Среда для работы
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
Подробности по установке и работе – см. ниже в неделе 0.
Материалы курса
Неделя 0. Напоминания про Python и Jupyter Notebook
Для подготовки к работе на курсе можно ознакомиться со следующими материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
- Видео. Первая программа, задачи для тренировки.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
Дополнительно:
- Набор текста в Jupyter (видео, ipynb).
- Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- LaTeX: Overleaf, документация, материалы других курсов по LaTeX.
Неделя 1. Язык HTML и его особенности. Знакомство с BeautifulSoup
- Язык HTML и его особенности: слайды, файл на codepen.
- Практикум 1 (читать, скачать), решения (читать, скачать).
- Практикум 2 (читать, скачать), решения (см. ниже в неделе 2).
Дополнительно:
Неделя 2. Парсинг с BeautifulSoup: поиск по тэгам и атрибутам
- Практикум 2: продолжение (читать, скачать), решения (читать, скачать).
- Обработка таблиц внутри HTML с BeautifulSoup и pandas (читать, скачать).
Дополнительно:
Неделя 3. Обработка текстовых данных и регулярные выражения
- Файлы к практикуму: данные nplus1_upd.csv, стоп-слова stop_words_russian.txt, картинка jpg.
- Практикум 3: обработка текста и облака слов (читать, скачать), решения (читать, скачать).
- Регулярные выражения в Python, извлечение кода JavaScript и обработка JSON-строк (читать, скачать).
Дополнительно:
Неделя 4. Введение в работу с API
- Практикум 4. Введение в работу с API на примере API Википедии (читать, скачать), решения (читать, скачать).
- Инструкция по получению доступа к API.
- Практикум 5 (читать, скачать), решения см. в неделе 5.
Неделя 5. Работа с API ВКонтакте. Базовый анализ тональности текстов
- Файлы к практикуму: comments-as-rows.csv.
- Практикум 5. Работа с ВКонтакте (читать, скачать), решения (читать, скачать).
- Практикум 5*. Анализ тональности (скачать).
- Подготовка к следующей теме – знакомство с Selenium (читать, скачать).
Дополнительно:
- Документация библиотеки dostoevsky.
Неделя 6. Управление браузером с Selenium
- Практикум 6.1. Управление браузером с Selenium: поиск элементов, запросы XPATH (читать, ipynb), решения (читать, ipynb)
- Практикум 6.2. Управление браузером с Selenium: работа с ВКонтакте и пример скроллинга (ipynb), решения (читать, ipynb)
Дополнительно:
- Проект Streamlit: основные функции, данные, графики, структурирование страницы, меню для ввода.
- Инструкция по работе со streamlit, файл Salaries.csv.
- Инструкция по публикации приложения (сначала создать аккаунт и репозиторий на Github).
Неделя 7. Управление браузером с Selenium: продолжение
- Практикум 7.1. Обработка динамических таблиц (читать, ipynb).
- Практикум 7.2. Скачивание файлов с Selenium (читать, ipynb).
- Практикум 7.3. Работаем с Кинопоиском (читать, ipynb).
Домашние задания
Домашнее задание | Дедлайн | Файлы |
---|---|---|
Домашнее задание 1 | 26.01 23:59 | ipynb |
Домашнее задание 2 | 05.02 23:59 | ipynb |
Домашнее задание 3 | 26.02 23:59 | ipynb |
Домашнее задание 4 | 04.03 23:59 | ipynb |
Домашнее задание 5 | 25.03 23:59 | ipynb |
Проект
- Описание и критерии: файл.
- Дедлайн: 30 марта 15:00, выполненные проекты высылаются на почту преподавателя.
Полезные материалы для проекта:
- Создание и установка приложения streamlit: вводная инструкция с примером приложения с двумя вкладками.
- Пример приложения streamlit с генерацией облаков слов для английского языка: myapp.py, txt-файлы.
- Пример ipynb-файла с виджетами для элементов меню.
- Официальная документация библиотеки ipywidgets для виджетов.