Web-scraping: сбор данных из баз данных и интернет-источников: различия между версиями
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 19: | Строка 19: | ||
===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. | ||
Строка 29: | Строка 28: | ||
===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 скачать]). | ||
Строка 43: | Строка 41: | ||
===10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1=== | ===10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1=== | ||
− | |||
* Семинар 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 скачать]). | * Семинар 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 скачать]). | ||
Строка 52: | Строка 49: | ||
===17 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 2=== | ===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 скачать]). | * Немного про функции и датафреймы 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 скачать]). | * Семинар 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 скачать]). | ||
Строка 62: | Строка 58: | ||
===24 февраля. Работа с текстами: облака слов и первичная обработка текста=== | ===24 февраля. Работа с текстами: облака слов и первичная обработка текста=== | ||
− | |||
* Работа с текстами и облака слов ([https://allatambov.github.io/web-scrape/work-with-texts.ipynb файл]), данные по новостям ([https://allatambov.github.io/web-scrape/nplus1.xlsx nplus1.xlsx]). | * Работа с текстами и облака слов ([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 тьюториал]. | * Облака слов с библиотекой wordcloud: [https://www.datacamp.com/community/tutorials/wordcloud-python тьюториал]. | ||
Строка 69: | Строка 64: | ||
===3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium=== | ===3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium=== | ||
− | * [https:// | + | * Исключения ([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. | * Установка драйверов для Selenium: для [https://chromedriver.chromium.org/downloads Chrome], для [https://github.com/mozilla/geckodriver/releases/ Firefox], [https://allatambov.github.io/icef/instr-wb.pdf решение] проблем на Mac. | ||
Строка 79: | Строка 73: | ||
===10 марта. Управление браузером с библиотекой 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 + 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 код], полный конспект вместе со второй частью ниже). | * Selenium и работа с ВКонтакте ([https://gist.github.com/allatambov/3ac71ed0b14106080107950676dee42c код], полный конспект вместе со второй частью ниже). | ||
Строка 89: | Строка 82: | ||
===17 марта. Управление браузером с библиотекой Selenium. Введение в API === | ===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 скачать]). | * Управление браузером с помощью 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 инструкция]. | * Получение доступа к API ВКонтакте: [https://allatambov.github.io/pypolit/vk-auth.pdf инструкция]. | ||
Строка 95: | Строка 87: | ||
===24 марта. Работа с API ВКонтакте === | ===24 марта. Работа с API ВКонтакте === | ||
− | |||
* [https://dev.vk.com/reference Документация] 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-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.ipynb смотреть], [https://allatambov.github.io/web-scrape/vk-api-friends.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 скачать]). |
'''Дополнительно:''' | '''Дополнительно:''' | ||
Строка 114: | Строка 105: | ||
| Домашнее задание 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 скачать] | | Домашнее задание 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 | смотреть скачать |