Web-scraping: сбор данных из баз данных и интернет-источников: различия между версиями
(не показаны 32 промежуточные версии этого же участника) | |||
Строка 17: | Строка 17: | ||
==Материалы== | ==Материалы== | ||
− | ===27 января. Введение в web-scraping. Язык HTML и его особенности | + | ===27 января. Введение в web-scraping. Язык HTML и его особенности=== |
− | |||
* Язык HTML и его особенности: [https://www.dropbox.com/s/igzv6fb0l5fd5dz/Intro_HTML.pdf?dl=0 слайды], [https://codepen.io/allatambov/pen/QWOwJmN файл] на codepen. | * Язык HTML и его особенности: [https://www.dropbox.com/s/igzv6fb0l5fd5dz/Intro_HTML.pdf?dl=0 слайды], [https://codepen.io/allatambov/pen/QWOwJmN файл] на codepen. | ||
Строка 25: | Строка 24: | ||
* [https://www.w3schools.com/html/ Тьюториал] от w3schools. | * [https://www.w3schools.com/html/ Тьюториал] от w3schools. | ||
− | * [https://html5book.ru/html-tags/ Учебник] от html5book.ru. | + | * [https://html5book.ru/html-tags/ Учебник] от html5book.ru. |
− | ===3 февраля. Структуры данных в Python: списки, кортежи, словари | + | ===3 февраля. Структуры данных в Python: списки, кортежи, словари=== |
− | |||
* Работа со строками ([https://nbviewer.org/github/allatambov/Web-scraping/blob/main/strings.ipynb читать], [https://allatambov.github.io/web-scrape/strings.ipynb скачать]). | * Работа со строками ([https://nbviewer.org/github/allatambov/Web-scraping/blob/main/strings.ipynb читать], [https://allatambov.github.io/web-scrape/strings.ipynb скачать]). | ||
* Необходимые для веб-скреппинга сведения об объектах и конструкциях в Python ([https://github.com/allatambov/Web-scraping/blob/main/basics.ipynb читать], [https://allatambov.github.io/web-scrape/basics.ipynb скачать]). | * Необходимые для веб-скреппинга сведения об объектах и конструкциях в Python ([https://github.com/allatambov/Web-scraping/blob/main/basics.ipynb читать], [https://allatambov.github.io/web-scrape/basics.ipynb скачать]). | ||
− | * Семинар 1 ([https://github.com/allatambov/Web-scraping/blob/main/seminar01.ipynb читать], [https://allatambov.github.io/web-scrape/seminar01.ipynb скачать]), решения семинара ([https://github | + | * Семинар 1 ([https://github.com/allatambov/Web-scraping/blob/main/seminar01.ipynb читать], [https://allatambov.github.io/web-scrape/seminar01.ipynb скачать]), решения семинара ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/seminar01-solutions.ipynb читать], [https://allatambov.github.io/web-scrape/seminar01-solutions.ipynb скачать]). |
'''Дополнительно''' | '''Дополнительно''' | ||
Строка 43: | Строка 41: | ||
===10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1=== | ===10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1=== | ||
− | * [https://www. | + | * Семинар 2. Практикум по парсингу ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/parse-01.ipynb читать], [https://allatambov.github.io/web-scrape/parse-01.ipynb скачать]). |
− | * Семинар | + | |
+ | '''Дополнительно''' | ||
+ | |||
+ | * [https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Документация] BeautifulSoup. | ||
+ | |||
+ | ===17 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 2=== | ||
+ | |||
+ | * Немного про функции и датафреймы pandas ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/functions_pandas.ipynb читать], [https://allatambov.github.io/web-scrape/functions_pandas.ipynb скачать]). | ||
+ | * Семинар 3. Практикум по парсингу ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/parse-02.ipynb читать], [https://allatambov.github.io/web-scrape/parse-02.ipynb скачать]). | ||
+ | |||
+ | '''Дополнительно''' | ||
+ | |||
+ | * Функции в Python: подробная [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] И.В.Щурова, датафреймы pandas: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-01.ipynb часть 1], [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-02.ipynb часть 2], [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/pandas-03.ipynb часть 3]. | ||
+ | |||
+ | ===24 февраля. Работа с текстами: облака слов и первичная обработка текста=== | ||
+ | |||
+ | * Работа с текстами и облака слов ([https://allatambov.github.io/web-scrape/work-with-texts.ipynb файл]), данные по новостям ([https://allatambov.github.io/web-scrape/nplus1.xlsx nplus1.xlsx]). | ||
+ | * Облака слов с библиотекой wordcloud: [https://www.datacamp.com/community/tutorials/wordcloud-python тьюториал]. | ||
+ | * [https://raw.githubusercontent.com/stopwords-iso/stopwords-ru/master/stopwords-ru.txt Список] стоп-слов для русского языка, библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2]. | ||
+ | |||
+ | ===3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium=== | ||
+ | |||
+ | * Исключения ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/try-except.ipynb читать], [https://allatambov.github.io/web-scrape/try-except.ipynb скачать]). BeautifulSoup и pandas (читать, скачать). | ||
+ | * Установка драйверов для Selenium: для [https://chromedriver.chromium.org/downloads Chrome], для [https://github.com/mozilla/geckodriver/releases/ Firefox], [https://allatambov.github.io/icef/instr-wb.pdf решение] проблем на Mac. | ||
+ | |||
+ | '''Дополнительно''' | ||
+ | |||
+ | * [https://selenium-python.readthedocs.io/ Документация] Selenium. | ||
+ | |||
+ | ===10 марта. Управление браузером с библиотекой Selenium=== | ||
+ | |||
+ | * Управление браузером Selenium + BeautifulSoup ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/selenium-bg.ipynb смотреть], [https://allatambov.github.io/web-scrape/selenium-bg.ipynb скачать]). | ||
+ | * Selenium и работа с ВКонтакте ([https://gist.github.com/allatambov/3ac71ed0b14106080107950676dee42c код], полный конспект вместе со второй частью ниже). | ||
+ | |||
+ | '''Дополнительно''' | ||
+ | |||
+ | * Немного про lambda-функции: [https://nbviewer.jupyter.org/github/allatambov/PyDat-0919/blob/master/lectures-seminars/5-files/lambda-functions.ipynb конспект]. | ||
+ | |||
+ | ===17 марта. Управление браузером с библиотекой Selenium. Введение в API === | ||
+ | |||
+ | * Управление браузером с помощью Selenium: пример ВКонтакте ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/selenium-vk.ipynb смотреть], [https://allatambov.github.io/web-scrape/selenium-vk.ipynb скачать]). | ||
+ | * Получение доступа к API ВКонтакте: [https://allatambov.github.io/pypolit/vk-auth.pdf инструкция]. | ||
+ | |||
+ | ===24 марта. Работа с API ВКонтакте === | ||
+ | |||
+ | * [https://dev.vk.com/reference Документация] API ВКонтакте. | ||
+ | * Работа с API ВКонтакте: собираем посты со стены ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/vk-api-wall-upd.ipynb смотреть], [https://allatambov.github.io/web-scrape/vk-api-wall-upd.ipynb скачать]). | ||
+ | * Работа с API ВКонтакте: собираем информацию о друзьях ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/vk-api-friends-upd.ipynb смотреть], [https://allatambov.github.io/web-scrape/vk-api-friends-upd.ipynb скачать]). | ||
+ | |||
+ | '''Дополнительно:''' | ||
+ | |||
+ | * Про создание чат-ботов ВКонтакте: [https://habr.com/ru/post/428507/ ссылка]. Минимальный пример очень интровертного чат-бота: [конспект]. | ||
==Домашние задания== | ==Домашние задания== | ||
Строка 52: | Строка 101: | ||
! Задание !! Дедлайн !! Файл с заданием | ! Задание !! Дедлайн !! Файл с заданием | ||
|- | |- | ||
− | | Домашнее задание 1 || 18.02 || [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/psy-hw01.ipynb смотреть] [https://allatambov.github.io/web-scrape/psy-hw01.ipynb скачать] | + | | Домашнее задание 1 || 18.02 23:59|| [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/psy-hw01.ipynb смотреть] [https://allatambov.github.io/web-scrape/psy-hw01.ipynb скачать] |
|- | |- | ||
− | | Домашнее задание 2 || | + | | Домашнее задание 2 || 04.03 23:59 || [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/psy-hw02.ipynb смотреть] [https://allatambov.github.io/web-scrape/psy-hw02.ipynb скачать] |
|- | |- | ||
− | | Домашнее задание 3 || | + | | Домашнее задание 3 || 30.03 23:59|| [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/web-scrape/psy-hw03.ipynb смотреть] [https://allatambov.github.io/web-scrape/psy-hw03.ipynb скачать] |
|} | |} |
Текущая версия на 03:26, 4 мая 2024
Это страница обязательного курса «Web-scraping: сбор данных из баз данных и интернет-источников», читаемого на программе «Психология» 4 курса бакалавриата в 2021/2022 учебном году.
Преподаватель: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Среда для работы
- 3 Материалы
- 3.1 27 января. Введение в web-scraping. Язык HTML и его особенности
- 3.2 3 февраля. Структуры данных в Python: списки, кортежи, словари
- 3.3 10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1
- 3.4 17 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 2
- 3.5 24 февраля. Работа с текстами: облака слов и первичная обработка текста
- 3.6 3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium
- 3.7 10 марта. Управление браузером с библиотекой Selenium
- 3.8 17 марта. Управление браузером с библиотекой Selenium. Введение в API
- 3.9 24 марта. Работа с API ВКонтакте
- 4 Домашние задания
Правила игры
- Формула оценки: 0.6 × ДЗ + 0.4 × Экзамен.
- Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%. Домашние задания, сданные через неделю после указанного срока и позже, не принимаются и не оцениваются.
- Программа курса.
Среда для работы
На данном курсе мы используем язык Python версии не ниже 3.5 и среду Jupyter Notebook. Скачать дистрибутив Anaconda, который установит интерпретатор Python, среду Jupyter Notebook и основные библиотеки для работы с данными, можно здесь. Если вы никогда не работали в Jupyter Notebook, предлагаем посмотреть небольшое видео и почитать инструкцию.
Если вы имеете мало опыта работы с Python, рекомендуем обратиться к следующим курсам на DataCamp (бесплатный доступ предоставлен всем слушателям этого курса): Introduction to Python, Python Data Science Toolbox (Part 1) и Python Data Science Toolbox (Part 2).
Материалы
27 января. Введение в web-scraping. Язык HTML и его особенности
Дополнительно
3 февраля. Структуры данных в Python: списки, кортежи, словари
- Работа со строками (читать, скачать).
- Необходимые для веб-скреппинга сведения об объектах и конструкциях в Python (читать, скачать).
- Семинар 1 (читать, скачать), решения семинара (читать, скачать).
Дополнительно
- Списки и цикл for (читать, скачать), методы на списках (читать, скачать).
- Условные конструкции (читать, скачать).
- Кортежи (читать, скачать), словари (читать, скачать).
- Pythontutor: уроки и задачи.
10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1
Дополнительно
- Документация BeautifulSoup.
17 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 2
- Немного про функции и датафреймы pandas (читать, скачать).
- Семинар 3. Практикум по парсингу (читать, скачать).
Дополнительно
24 февраля. Работа с текстами: облака слов и первичная обработка текста
- Работа с текстами и облака слов (файл), данные по новостям (nplus1.xlsx).
- Облака слов с библиотекой wordcloud: тьюториал.
- Список стоп-слов для русского языка, библиотека pymorphy2.
3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium
- Исключения (читать, скачать). BeautifulSoup и pandas (читать, скачать).
- Установка драйверов для Selenium: для Chrome, для Firefox, решение проблем на Mac.
Дополнительно
- Документация Selenium.
10 марта. Управление браузером с библиотекой Selenium
- Управление браузером Selenium + BeautifulSoup (смотреть, скачать).
- Selenium и работа с ВКонтакте (код, полный конспект вместе со второй частью ниже).
Дополнительно
- Немного про lambda-функции: конспект.
17 марта. Управление браузером с библиотекой Selenium. Введение в API
- Управление браузером с помощью Selenium: пример ВКонтакте (смотреть, скачать).
- Получение доступа к API ВКонтакте: инструкция.
24 марта. Работа с API ВКонтакте
- Документация API ВКонтакте.
- Работа с API ВКонтакте: собираем посты со стены (смотреть, скачать).
- Работа с API ВКонтакте: собираем информацию о друзьях (смотреть, скачать).
Дополнительно:
- Про создание чат-ботов ВКонтакте: ссылка. Минимальный пример очень интровертного чат-бота: [конспект].
Домашние задания
Задание | Дедлайн | Файл с заданием |
---|---|---|
Домашнее задание 1 | 18.02 23:59 | смотреть скачать |
Домашнее задание 2 | 04.03 23:59 | смотреть скачать |
Домашнее задание 3 | 30.03 23:59 | смотреть скачать |