Web-scraping: сбор данных из баз данных и интернет-источников: различия между версиями
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Это страница | + | Это страница курса '''«Web-scraping: сбор данных из баз данных и интернет-источников»''', читаемого на программе «Психология» 3 курса бакалавриата в '''2022/2023''' учебном году. |
Практические занятия ведёт: Тамбовцева Алла Андреевна. | Практические занятия ведёт: Тамбовцева Алла Андреевна. | ||
Строка 61: | Строка 61: | ||
* Введение в классы в Python: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb конспект]. | * Введение в классы в Python: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb конспект]. | ||
− | ===Управление браузером с Selenium (14 февраля)=== | + | ===Занятие 06. Управление браузером с Selenium (14 февраля)=== |
* Установка Selenium и драйверов для Chrome: [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf инструкция], [https://chromedriver.chromium.org/downloads ссылка] на драйвера. | * Установка Selenium и драйверов для Chrome: [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf инструкция], [https://chromedriver.chromium.org/downloads ссылка] на драйвера. | ||
− | * Практикум 6: управление браузером с Selenium на примере ВКонтакте ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice06.ipynb читать], [https://www.dropbox.com/s/elijmhgyde0vyw8/psy-practice06.ipynb?dl=0 скачать]), решения ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice06-solutions.ipynb читать], [https://www.dropbox.com/s/iog89xvy3kiwpzk/psy-practice06-solutions.ipynb?dl=0 ipynb]). | + | * Практикум 6: управление браузером с Selenium на примере ВКонтакте ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice06.ipynb читать], [https://www.dropbox.com/s/elijmhgyde0vyw8/psy-practice06.ipynb?dl=0 скачать]), решения практикума ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice06-solutions.ipynb читать], [https://www.dropbox.com/s/iog89xvy3kiwpzk/psy-practice06-solutions.ipynb?dl=0 ipynb]). |
* Неофициальная [https://selenium-python.readthedocs.io/ документация] библиотеки Selenium. | * Неофициальная [https://selenium-python.readthedocs.io/ документация] библиотеки Selenium. | ||
+ | |||
+ | ===Занятие 07. Управление браузером с Selenium: продолжение (21 февраля)=== | ||
+ | |||
+ | * Практикум 7: управление браузером с Selenium: скроллинг и извлечение ссылок ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice07.ipynb читать], [https://www.dropbox.com/s/4m7s7jcfb6tlnjz/psy-practice07.ipynb?dl=0 скачать]), решения практикума ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice07-solutions.ipynb читать], [https://www.dropbox.com/s/dv55z3yajocpmcg/psy-practice07-solutions.ipynb?dl=0 скачать]). | ||
+ | |||
+ | ===Занятие 08. Управление браузером с Selenium: завершение (28 февраля)=== | ||
+ | |||
+ | * Практикум 8: управление браузером с Selenium: XPATH и скачивание файлов ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice08.ipynb читать], [https://www.dropbox.com/s/cyofm4nge0bl1zy/psy-practice08.ipynb?dl=0 скачать]), решения практикума ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/tm0k4tdg4e23iyo/psy-practice08-solutions.ipynb?dl=0 скачать]). | ||
+ | |||
+ | ===Занятие 09. Более продвинутый парсинг с BeautifulSoup (7 марта)=== | ||
+ | |||
+ | * Практикум 9: справляемся с кодировками и капчами ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice09.ipynb читать], [https://www.dropbox.com/s/rxjo5zk3f0qejyx/psy-practice09.ipynb?dl=0 скачать]), решения ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice09-solutions.ipynb читать]). | ||
+ | |||
+ | ===Занятие 10. Создание приложений со streamlit (14 марта)=== | ||
+ | |||
+ | * [https://streamlit.io/ Страница] проекта Streamlit, [https://docs.streamlit.io/library/cheatsheet перечень] основных функций. | ||
+ | * Инструкция по работе со streamlit ([https://github.com/allatambov/WebScrape23/blob/main/instruct-streamlit.ipynb читать], [https://www.dropbox.com/s/467qopy9b0ajcvz/instruct-streamlit.ipynb?dl=0 ipynb]). | ||
+ | * Исполняемый файл myapp.py ([https://github.com/allatambov/WebScrape23/blob/main/myapp.py читать], [https://www.dropbox.com/s/nyaqp9d6h9vklrz/myapp.py?dl=0 скачать]), [https://www.dropbox.com/scl/fo/dn6ifkzn3grb272186o1d/h?dl=0&rlkey=ezus3g9yloetkce1rg3em9qe5 txt-файлы] с текстами. | ||
+ | * [https://carpentries-incubator.github.io/python-interactive-data-visualizations/08-publish-your-app/index.html Инструкция] по публикации приложения (сначала создать аккаунт и репозиторий на Github). | ||
==Домашние задания== | ==Домашние задания== | ||
Строка 81: | Строка 100: | ||
| [https://github.com/allatambov/WebScrape23/blob/main/psy-hw03.ipynb Домашнее задание 3] || [https://www.dropbox.com/s/03scyvwthqbxwuq/psy-hw03.ipynb?dl=0 ipynb] || 25.02 23:59 | | [https://github.com/allatambov/WebScrape23/blob/main/psy-hw03.ipynb Домашнее задание 3] || [https://www.dropbox.com/s/03scyvwthqbxwuq/psy-hw03.ipynb?dl=0 ipynb] || 25.02 23:59 | ||
|- | |- | ||
− | | Домашнее задание 4|| ipynb || | + | | [https://github.com/allatambov/WebScrape23/blob/main/psy-hw04.ipynb Домашнее задание 4] || [https://www.dropbox.com/s/mc8nr2uojm2g8mt/psy-hw04.ipynb?dl=0 ipynb] || 23.03 23:59 |
|} | |} |
Текущая версия на 08:30, 19 января 2024
Это страница курса «Web-scraping: сбор данных из баз данных и интернет-источников», читаемого на программе «Психология» 3 курса бакалавриата в 2022/2023 учебном году.
Практические занятия ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Среда для работы
- 3 Для практики
- 4 Материалы курса
- 4.1 Занятие 01. Язык HTML и его особенности. Знакомство с BeautifulSoup (10 января)
- 4.2 Занятие 02. Парсинг HTML-файлов с BeautifulSoup (17 января)
- 4.3 Занятие 03. Веб-скреппинг с BeautifulSoup, pandas и json (24 января)
- 4.4 Занятие 04. Работа с API ВКонтакте (31 января)
- 4.5 Занятие 05. Работа с текстами: анализ тональности и облака слов (07 февраля)
- 4.6 Занятие 06. Управление браузером с Selenium (14 февраля)
- 4.7 Занятие 07. Управление браузером с Selenium: продолжение (21 февраля)
- 4.8 Занятие 08. Управление браузером с Selenium: завершение (28 февраля)
- 4.9 Занятие 09. Более продвинутый парсинг с BeautifulSoup (7 марта)
- 4.10 Занятие 10. Создание приложений со streamlit (14 марта)
- 5 Домашние задания
Правила игры
- Формула оценки: 0.5 × ДЗ + 0.5 × Проект, программа курса.
- Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%. Домашние задания, сданные через неделю после указанного срока и позже, не принимаются и не оцениваются.
Среда для работы
На данном курсе мы используем язык Python версии не ниже 3.5 и среду Jupyter Notebook. Скачать дистрибутив Anaconda, который установит интерпретатор Python, среду Jupyter Notebook и основные библиотеки для работы с данными, можно здесь. Если вы никогда не работали в Jupyter Notebook, предлагаем посмотреть небольшое видео и почитать инструкцию. В течение первой половины курса вместо Jupyter Notebook можно использовать онлайн-среду Google Colab, она бесплатна, но для работы нужен аккаунт Gmail.
Для практики
Если вы имеете мало опыта работы с Python, рекомендуем обратиться к следующим курсам на DataCamp (бесплатный доступ предоставлен всем слушателям этого курса): Introduction to Python, Python Data Science Toolbox (Part 1), Python Data Science Toolbox (Part 2), Data Manipulation with pandas.
Если хочется освежить в памяти разные сведения о конструкциях и структурах в Python, можно почитать материалы курса Python для сбора и анализа данных.
Материалы курса
Занятие 01. Язык HTML и его особенности. Знакомство с BeautifulSoup (10 января)
- Язык HTML и его особенности: слайды, файл на codepen.
- Практикум 1 (читать, скачать), решения практикума (читать, скачать).
Дополнительно
Занятие 02. Парсинг HTML-файлов с BeautifulSoup (17 января)
Занятие 03. Веб-скреппинг с BeautifulSoup, pandas и json (24 января)
- Практикум 3: о некоторых нюансах работы с BeautifulSoup (читать, сырой ipynb).
- Обработка таблиц внутри HTML с BeautifulSoup и pandas (читать, ipynb).
- Извлечение кода JavaScript из HTML и обработка JSON-строк (читать, ipynb).
Дополнительно
- Документация BeautifulSoup.
- Обзор регулярных выражений на habr.com, документация модуля re.
Занятие 04. Работа с API ВКонтакте (31 января)
- Инструкция по получению доступа к API.
- Практикум 4: Работа с API ВКонтакте: (читать, скачать), решения практикума (читать, скачать).
Занятие 05. Работа с текстами: анализ тональности и облака слов (07 февраля)
- Практикум 5: анализ тональности и облака слов (читать, скачать), файл comments-as-rows.csv
- Документация библиотеки dostoevsky, документация библиотеки pymorphy2, стоп-слова для русского языка.
- Тьюториал по облакам слов от DataCamp.
Дополнительно
Занятие 06. Управление браузером с Selenium (14 февраля)
- Установка Selenium и драйверов для Chrome: инструкция, ссылка на драйвера.
- Практикум 6: управление браузером с Selenium на примере ВКонтакте (читать, скачать), решения практикума (читать, ipynb).
- Неофициальная документация библиотеки Selenium.
Занятие 07. Управление браузером с Selenium: продолжение (21 февраля)
- Практикум 7: управление браузером с Selenium: скроллинг и извлечение ссылок (читать, скачать), решения практикума (читать, скачать).
Занятие 08. Управление браузером с Selenium: завершение (28 февраля)
- Практикум 8: управление браузером с Selenium: XPATH и скачивание файлов (читать, скачать), решения практикума (читать, скачать).
Занятие 09. Более продвинутый парсинг с BeautifulSoup (7 марта)
Занятие 10. Создание приложений со streamlit (14 марта)
- Страница проекта Streamlit, перечень основных функций.
- Инструкция по работе со streamlit (читать, ipynb).
- Исполняемый файл myapp.py (читать, скачать), txt-файлы с текстами.
- Инструкция по публикации приложения (сначала создать аккаунт и репозиторий на Github).
Домашние задания
Домашнее задание №3 объёмное, за него ставится две оценки. Итого за четыре домашних задания студенты получают пять оценок, что равносильно выполнению пяти заданий, заявленных в программе курса.
Домашнее задание | Файл | Дедлайн |
---|---|---|
Домашнее задание 1 | ipynb | 17.01 23:59 |
Домашнее задание 2 | ipynb | 23.01 23:59 |
Домашнее задание 3 | ipynb | 25.02 23:59 |
Домашнее задание 4 | ipynb | 23.03 23:59 |