Web-scraping: сбор данных из баз данных и интернет-источников: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показаны 22 промежуточные версии этого же участника)
Строка 17: Строка 17:
 
==Материалы==
 
==Материалы==
  
===27 января. Введение в web-scraping. Язык HTML и его особенности.===
+
===27 января. Введение в web-scraping. Язык HTML и его особенности===
  
 
* [https://www.dropbox.com/s/bhse2sj2s54d7we/27-01-class01.mp4?dl=0 Видеозапись] занятия.
 
* [https://www.dropbox.com/s/bhse2sj2s54d7we/27-01-class01.mp4?dl=0 Видеозапись] занятия.
Строка 25: Строка 25:
  
 
* [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://www.dropbox.com/s/oo034t9us2h3dj6/03-02-class02.mp4?dl=0 Видеозапись] занятия.
 
* [https://www.dropbox.com/s/oo034t9us2h3dj6/03-02-class02.mp4?dl=0 Видеозапись] занятия.
Строка 53: Строка 53:
  
 
* [https://www.dropbox.com/s/v72cvpkesv24zzu/17-02-class04.mp4?dl=0 Видеозапись] занятия.
 
* [https://www.dropbox.com/s/v72cvpkesv24zzu/17-02-class04.mp4?dl=0 Видеозапись] занятия.
* Немного про функции и датафреймы pandas (читать, скачать).
+
* Немного про функции и датафреймы 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 скачать]).
  
Строка 59: Строка 59:
  
 
* Функции в 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].
 
* Функции в 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].
* Облака слов с библиотекой 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].
 
  
===24 февраля. Работа с текстами: обзор.===
+
===24 февраля. Работа с текстами: облака слов и первичная обработка текста===
  
* [Видеозапись] занятия.
+
* [https://www.dropbox.com/s/r6aly9bqe1g4vwd/24-02-class05.mp4?dl=0 Видеозапись] занятия.
 
* Работа с текстами и облака слов ([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 тьюториал].
 
* [https://raw.githubusercontent.com/stopwords-iso/stopwords-ru/master/stopwords-ru.txt Список] стоп-слов для русского языка, библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2].
 
* [https://raw.githubusercontent.com/stopwords-iso/stopwords-ru/master/stopwords-ru.txt Список] стоп-слов для русского языка, библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2].
 +
 +
===3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium===
 +
 +
* [https://www.dropbox.com/s/mg04qo4w7w110fk/03-03-class06.mp4?dl=0 Видеозапись] занятия.
 +
* Исключения ([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===
 +
 +
* [https://www.dropbox.com/s/citm0818h0rgyi9/10-03-class07.mp4?dl=0 Видеозапись] занятия.
 +
* Управление браузером 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 ===
 +
 +
* [https://www.dropbox.com/s/q43ezbl2tbkvwl7/17-03-class08.mp4?dl=0 Видеозапись] занятия.
 +
* Управление браузером с помощью 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://www.dropbox.com/s/z7vvll1f9j9e2aj/24-03-class09.mp4?dl=0 Видеозапись] занятия.
 +
* [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/ ссылка]. Минимальный пример очень интровертного чат-бота: [конспект].
  
 
==Домашние задания==
 
==Домашние задания==
Строка 77: Строка 112:
 
| Домашнее задание 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 скачать]
 
| Домашнее задание 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 || TBA ||  
+
| Домашнее задание 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 || TBA ||  
+
| Домашнее задание 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 скачать]
 
|}
 
|}

Текущая версия на 16:30, 24 марта 2022

Это страница обязательного курса «Web-scraping: сбор данных из баз данных и интернет-источников», читаемого на программе «Психология» 4 курса бакалавриата в 2021/2022 учебном году.

Преподаватель: Тамбовцева Алла Андреевна.

Правила игры

  • Формула оценки: 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: списки, кортежи, словари

Дополнительно

10 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 1

Дополнительно

17 февраля. Парсинг HTML с библиотекой BeautifulSoup: часть 2

Дополнительно

24 февраля. Работа с текстами: облака слов и первичная обработка текста

3 марта. Исключения. BeautifulSoup и pandas. Введение в Selenium

Дополнительно

10 марта. Управление браузером с библиотекой Selenium

Дополнительно

17 марта. Управление браузером с библиотекой Selenium. Введение в API

24 марта.  Работа с API ВКонтакте

Дополнительно:

  • Про создание чат-ботов ВКонтакте: ссылка. Минимальный пример очень интровертного чат-бота: [конспект].

Домашние задания

Задание Дедлайн Файл с заданием
Домашнее задание 1 18.02 23:59 смотреть скачать
Домашнее задание 2 04.03 23:59 смотреть скачать
Домашнее задание 3 30.03 23:59 смотреть скачать