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

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 14 промежуточных версий этого же участника)
Строка 84: Строка 84:
 
* [https://github.com/bureaucratic-labs/dostoevsky Документация] библиотеки dostoevsky.
 
* [https://github.com/bureaucratic-labs/dostoevsky Документация] библиотеки dostoevsky.
  
 +
===Неделя 6. Управление браузером с Selenium ===
  
===Неделя 6. Управление браузером с Selenium ===
+
* Практикум 6.1. Управление браузером с Selenium: поиск элементов, запросы XPATH ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice06-01.ipynb читать], [https://www.dropbox.com/scl/fi/ncmeh9dlg92b572qoxcf2/psy-practice06-01.ipynb?rlkey=jiy32xi455ribkkhyj8v7fj0t&dl=0 ipynb]), решения ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice06-01-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/wz9eofav1bkph5gd6abip/psy-practice06-01-solutions.ipynb?rlkey=3t28e4tq5qsa41ny7lq0ipvhm&dl=0 ipynb])
 +
* Практикум 6.2. Управление браузером с Selenium: работа с ВКонтакте и пример скроллинга ([https://www.dropbox.com/scl/fi/gb4gq2xq0olosjc9f2hgq/psy-practice06-02.ipynb?rlkey=9cgrnq2pfbintwuhhos7lnlmm&dl=0 ipynb]), решения ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice06-02-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/9y99y0y8t5bbt3hxbvjgr/psy-practice06-02-solutions.ipynb?rlkey=15lfo6nl388euqktk9h7gy7m8&dl=0 ipynb])
 +
 
 +
Дополнительно:
 +
 
 +
* [https://streamlit.io/ Проект] Streamlit: основные [https://docs.streamlit.io/library/cheatsheet функции], [https://docs.streamlit.io/library/api-reference/data данные], [https://docs.streamlit.io/library/api-reference/charts графики], [https://docs.streamlit.io/library/api-reference/layout структурирование] страницы, [https://docs.streamlit.io/library/api-reference/widgets меню] для ввода.
 +
* [https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/instruct-streamlit.ipynb Инструкция] по работе со streamlit, файл [https://www.dropbox.com/scl/fi/8iliv9d3ix262i7gz7tf4/Salaries.csv?rlkey=8jv4cyfzit4tw1j09o6pelaje&dl=0 Salaries.csv].
 +
* [https://carpentries-incubator.github.io/python-interactive-data-visualizations/08-publish-your-app/index.html Инструкция] по публикации приложения (сначала создать аккаунт и репозиторий на Github).
 +
 
 +
===Неделя 7. Управление браузером с Selenium: продолжение ===
  
* Практикум 6.1. Управление браузером с Selenium: поиск элементов, запросы XPATH ([https://www.dropbox.com/scl/fi/ncmeh9dlg92b572qoxcf2/psy-practice06-01.ipynb?rlkey=jiy32xi455ribkkhyj8v7fj0t&dl=0 ipynb]).
+
* Практикум 7.1. Обработка динамических таблиц ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice-07-01.ipynb читать], [https://www.dropbox.com/scl/fi/xcpxdvckbv4313x354jb7/psy-practice-07-01.ipynb?rlkey=ehd5y21wrcjhwtv6g665ytr87&dl=0 ipynb]).
* Практикум 6.2. Управление браузером с Selenium: работа с ВКонтакте и пример скроллинга ([https://www.dropbox.com/scl/fi/gb4gq2xq0olosjc9f2hgq/psy-practice06-02.ipynb?rlkey=9cgrnq2pfbintwuhhos7lnlmm&dl=0 ipynb]).
+
* Практикум 7.2. Скачивание файлов с Selenium ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice07-02.ipynb читать], [https://www.dropbox.com/scl/fi/51ayepaolgj9tg952dvol/psy-practice07-02.ipynb?rlkey=wkjzdreexr3ljnzn9hf034jjq&dl=0 ipynb]).  
* Практикум 6*. Создание одностраничных сайтов с streamlit.
+
* Практикум 7.3. Работаем с Кинопоиском ([https://github.com/allatambov/WebScrape24/blob/main/psy-practice-07-03.ipynb читать], [https://www.dropbox.com/scl/fi/wug55d1mzobw42evi0x9e/psy-practice-07-03.ipynb?rlkey=oywqlxo426tverv4e71xefchy&dl=0 ipynb]).
  
 
==Домашние задания==
 
==Домашние задания==
Строка 105: Строка 115:
 
| [https://github.com/allatambov/WebScrape24/blob/main/psy-hw04.ipynb Домашнее задание 4] || 04.03 23:59 || [https://www.dropbox.com/scl/fi/3q0xwkfo18r31ia1nwh5z/psy-hw04.ipynb?rlkey=x3z8xekboi7wer63sb65qopwi&dl=0 ipynb]
 
| [https://github.com/allatambov/WebScrape24/blob/main/psy-hw04.ipynb Домашнее задание 4] || 04.03 23:59 || [https://www.dropbox.com/scl/fi/3q0xwkfo18r31ia1nwh5z/psy-hw04.ipynb?rlkey=x3z8xekboi7wer63sb65qopwi&dl=0 ipynb]
 
|-
 
|-
| Домашнее задание 5 || || ipynb
+
| [https://github.com/allatambov/WebScrape24/blob/main/psy-hw05.ipynb Домашнее задание 5] || 25.03 23:59 || [https://www.dropbox.com/scl/fi/lqtqq12yodhk3psip993t/psy-hw05.ipynb?rlkey=bhmedg9vhuk2q3x4gfcr04azj&dl=0 ipynb]
|-
 
| Домашнее задание 6 ||  || ipynb
 
 
|-
 
|-
 
|}
 
|}
 +
 +
==Проект==
 +
 +
* Описание и критерии: [https://www.dropbox.com/scl/fi/lhg9rrfmzrx24gkx6ltdy/PROJECT-desc.pdf?rlkey=y8bhown5e4slpdnm4cqll0oht&dl=0 файл].
 +
* Дедлайн: '''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 учебном году.

Практические занятия ведёт: Тамбовцева Алла Андреевна.

Правила игры

  • Формула оценки: 0.5 × ДЗ + 0.5 × Проект, программа курса.
  • Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%. Домашние задания, сданные через неделю после указанного срока и позже, не принимаются и не оцениваются.
  • Форма для рассылки.

Среда для работы

Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).

Подробности по установке и работе – см. ниже в неделе 0.

Материалы курса

Неделя 0. Напоминания про Python и Jupyter Notebook

Для подготовки к работе на курсе можно ознакомиться со следующими материалами онлайн-курса:

А также с материалами по работе в Jupyter Notebook и Google Colab:

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

Неделя 1. Язык HTML и его особенности. Знакомство с BeautifulSoup

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

Неделя 2. Парсинг с BeautifulSoup: поиск по тэгам и атрибутам

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

Неделя 3. Обработка текстовых данных и регулярные выражения

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

Неделя 4. Введение в работу с API

Неделя 5. Работа с API ВКонтакте. Базовый анализ тональности текстов

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

Неделя 6. Управление браузером с Selenium

  • Практикум 6.1. Управление браузером с Selenium: поиск элементов, запросы XPATH (читать, ipynb), решения (читать, ipynb)
  • Практикум 6.2. Управление браузером с Selenium: работа с ВКонтакте и пример скроллинга (ipynb), решения (читать, ipynb)

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

Неделя 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 для виджетов.