1 of 27

2. Источники данных.

Web как источник данных.

2 of 27

Сергей Соловьев

  • Тимлид фронтовой и аналитической команды в Qoollo
  • IT-предприниматель в SDAL
  • Сотрудник УИМП МГТУ
  • Педагог и создатель образовательных курсов

Спикер курсов

3 of 27

Как получить max пользу от вебинара?

  • Закрыть все лишние приложения и вкладки в браузере
  • Замьютить телефон, чтобы не отвлекаться на уведомления
  • Взять ручку и тетрадку. Иногда нарисовать куда быстрее, чем напечатать
  • Попросить родных и близких вас не беспокоить в течение вебинара
  • Отвечать в чате на вопросы спикера и задавать свои
  • Помогать, отвечая на вопросы коллег в чате

4 of 27

Формат вебинара

  • Общая продолжительность 4 часа
  • Вводная часть
  • 3 часовых тематических блока
  • Блоки сочетают теорию и практику
  • Для тех кто уже всё знает, подготовлены практические задания со звездочками
  • Перерывы между блоками 5-10 минут
  • В конце отвечаем на вопросы
  • Я даю ДЗ для самостоятельной проработки

5 of 27

Этапы аналитического исследования

Формулировка проблемы, постановка цели, выбор технологий, план

1

Сбор, предобработка и хранение данных

2

Агрегация и анализ данных

3

Визуализация, формирование отчёта, публикация

4

6 of 27

Темы вебинара

  • Виды источников данных
  • Порталы открытых данных
  • Социальные сети
  • Новостные сайты и веб-скрейпинг

7 of 27

✍ Практическое задание

В своей любимой среде разработки составьте JSON-документ электронного билета пассажира на поезд (или придумайте свою тему) и скиньте в чат.

  • JSON должен содержать все виды данных (Array, Object, number, string, boolean)
  • Не менее 4 уровней иерархии в структуре
  • Соблюдайте принцип семантического именования свойств

*Воспроизведите эту структуру данных в XML

**Создайте JSON-схему для подобного JSON-документа

8 of 27

Виды источников данных

WEB как источник данных

  • Порталы открытых данных (например, data.mos.ru)
  • Социальные сети (например, ВКонтакте)
  • Сайты (например, РБК или Википедия)

Всё остальное

Интернет вещей, естественно-научные эксперименты, опросы, интервью и т.д.

9 of 27

 

 

Структура интернета

10 of 27

Сетевая модель OSI-ISO

11 of 27

Гипертекст

 

 

 

12 of 27

Структура URL

 

 

 

13 of 27

Открытые данные - концепция, отражающая идею о том, что определённые данные должны быть свободно доступны для машиночитаемого использования и дальнейшей републикации без ограничений авторского права, патентов и других механизмов контроля.

Порталы открытых данных

как источник данных

14 of 27

Порталы открытых данных

  • http://data.mos.ru/ — портал открытых данных Правительства Москвы
  • http://data.gov.ru/ — портал открытых данных Российской Федерации
  • http://crimestat.ru/opendata — портал правовой статистики с открытыми данными о состоянии преступности, в форматах CSV и XML
  • И так далее

15 of 27

Преимущества и недостатки

Преимущества

Недостатки

Данные хорошо структурированы

Данные часто неполны

Бесплатный доступ

Ограниченный набор доступных данных

Данные постоянно пополняются

Как правило, требуется регистрация

Предоставляются в машиночитаемом формате

Часто не соответствуют соглашениям именования

Данные предоставляются официальными органами

 

16 of 27

Объединить два открытых датасета:

�*Дополнить информацию о каждой школе списком 3 ближайших кафе (или придумать что-то своё)

✍ Практическое задание

17 of 27

Социальные сети

как источник данных

Twitter

Facebook

Instagram

ВКонтакте

18 of 27

Преимущества и недостатки

Преимущества

Недостатки

Данные формализованы и структурированы

Данные априори недостоверны

Бесплатный доступ

Ограниченный набор доступных данных

Данные постоянно пополняются

Затруднен анонимный сбор данных

Удобное API для доступа

Ограничения на получение данных

Источник данных о социальной жизни

Вызывает этические противоречия

19 of 27

Граф социальных связей

Узлы – люди

Ребра - отношения дружбы

20 of 27

Получение токена ВКонтакте

Implicit Flow для получения ключа доступа пользователя

  • создать приложение
  • сформировать ссылку диалога авторизации с нужными параметрами
  • дать доступ приложению к работе от имени своего аккаунта
  • сохранить полученный токен���https://vk.com/dev/implicit_flow_user

21 of 27

Сформировать граф социальных связей аудитории сообщества

  • Создать приложение и получить токен (если нет)
  • Выбрать любое сообщество ВКонтакте (до 500 человек) и загрузить список всех его участников
  • Для каждого участника загрузить список его друзей
  • Сохранить в JSON список пользователей с указанием id друзей

�*Придумать свою метрику интенсивности связи (скажем, количество взаимных лайков под аватарками) и добавить веса связям.

✍ Практическое задание

22 of 27

Новостные сайты

как источник данных

23 of 27

Преимущества и недостатки

Преимущества

Недостатки

Подробная информация о событиях

Информация часто представлена в виде слабоструктурированных ЕЯ-текстов

Часто возможен анонимный сбор данных

Данные приходят в формате HTML (реже RSS), нужна предобработка перед анализом

Источник данных о социальной жизни

Часто имеет мощный политический или идеологический окрас

24 of 27

Веб-скрейпинг

Web

HTML

JSON

25 of 27

Что нам понадобится

  • Базовые знания HTML
  • Базовые знания CSS селекторов
  • Python библиотека beautiful soup

26 of 27

С помощью веб-скрейпинга сформировать массив новостных записей

  • Выбрать один из сайтов новостей (например, https://www.newsvl.ru/, https://news.novgorod.ru/news/, https://news.ykt.ru/, можно выбрать любой региональный сайт или тематический)
  • загрузить минимум 500 последних статей (включая заголовок, дату публикации, текст новости и, количество просмотров, список комментариев, ссылки на картинки из новости)
  • Сохранить массив в JSON

�* Сопроводить каждую новость списком ссылок на содержащиеся в ней картинки и внешние ресурсы

** Представить датасет в виде HTML-таблицы с картинками

✍ Практическое задание

27 of 27

Спасибо за внимание!

мои контакты