Основы requests и bs4 за 44 минуты

27 Просмотры
Издатель
0:00 Содержательная задача: выгрузить с сайта FL.ru информацию о конкурсах для фрилансеров и о реакции фрилансеров на них, чтобы впоследствии выяснить детерминанты (не)популярности конкурсов.
0:30 Архитектура веб-источника: 3 раздела сайта FL.ru .
1:05 Интересующие переменные.
3:15 Архитектура скриптов.
3:30 Упоминание реляционных баз данных.
4:05 Итоговая таблица.
5:45 Статья «Автоматическое извлечение текстовых и числовых веб-данных для целей социальных наук» https://www.jour.fnisc.ru/index.php/soc4m/article/view/7983 .
6:10 robots.txt .
6:35 Корректировка содержательной задачи.
7:15 Полезный пререквизит: видео «Эффективно программировать на Python в Jupyter Notebook» https://youtu.be/vC4GKSyTtLg .
7:45 Markdown и закомменчивание.
8:15 Скачать пакеты из Интернета на компьютер.
8:55 Активировать пакет requests. Записать в объект. Класс объектов «текст». Кавычки.
9:30 Альтернативные точки входа.
11:35 Маскировка алгоритмического запроса под запрос обычного пользователя; Cookie и User-Agent. Класс объектов «словарь».
15:10 Заменить класс объекта 'объект requests' на класс объекта 'текст'. Функции (методы) и атрибуты.
16:25 Активировать класс BeautifulSoup из пакета bs4 . HTML-теги, их атрибуты и содержимое.
17:35 "Название конкурса". Ограничить область поиска искомого текста в выгруженном HTML-коде посредством релевантного тега из веб-инспектора. Почему не span id="prj_name_5007925" . Методы .find_all() и .find() и HTML-теги. Вспомогательные чанки.
19:20 Метод find_all , класс объектов «список» и индексирование.
22:25 Метод get_text пакета bs4 и метод strip для текста. Применимость методов только к объектам "своего" класса. Классы данных и классы модулей.
24:25 Промежуточные итоги.
28:10 Блок "Заказчик конкурса", "Дата регистрации заказчика". В искомом тексте много лишних символов. Оптимальное, но сложно для понимания решение пакетом re. Упоминание пакета re .
30:00 Цикл while , чтобы заменить все двойные пробелы на одинарные.
31:20 "Бюджет". Двойное ограничение области поиска. Конкатенировать.
33:40 Цикл for для итерирования диапазона элементов.
37:35 Иллюстрация различия оптимальности в компьютерных науках и в DCSS (цифровых и вычислительных социальных науках).
38:55 Оформить данные. Пакет pandas. Датафреймы. Индексировать датафрейм на запись. 42:35 Сохранить датафрейм в формате экселевской таблицы.
43:25 Итоговый чанк.
Категория
Супы
Комментариев нет.