Репозиторий автоматизированного парсинга (командный проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (Критерии оценки)
(Контактная информация)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 10: Строка 10:
 
=== Что это за проект? ===
 
=== Что это за проект? ===
 
Это проект по созданию единого репозитория для автоматизированного парсинга сайтов одной тематики, с целью дальнейшего использования извлеченной информации в аналитике и прогнозах.
 
Это проект по созданию единого репозитория для автоматизированного парсинга сайтов одной тематики, с целью дальнейшего использования извлеченной информации в аналитике и прогнозах.
С сайтов должны быть извлечены все максимально полезные метаданные о публикациях, статьях, грантах и т.п., например, время создания, авторство, категория, теги и т.п. параметры. Извлеченные данные должны будут автоматически загружены унифицированном для всех их источников формате в облачное хранилище в виде таблиц баз данных (мы используем PostgreSQL).
+
 
 +
С сайтов должны быть извлечены все максимально полезные метаданные о публикациях, статьях, грантах и т.п., например, время создания, авторство, категория, теги и т.п. параметры. Извлеченные данные должны будут автоматически загружены в унифицированном для всех их источников формате в облачное хранилище в виде таблиц баз данных (мы используем PostgreSQL).
 
Задача по извлечению изначально может показаться достаточно простой, но на практике это далеко не так. В случаях с некоторыми сайтами можно будет применить инструменты разработанного у нас фреймворка на базе Scrapy для извлечения данных. Однако, скорее всего, придется работать также с такими инструментами как Selenium.
 
Задача по извлечению изначально может показаться достаточно простой, но на практике это далеко не так. В случаях с некоторыми сайтами можно будет применить инструменты разработанного у нас фреймворка на базе Scrapy для извлечения данных. Однако, скорее всего, придется работать также с такими инструментами как Selenium.
  
Строка 59: Строка 60:
 
''6-7'': Написанные парсеры работают, извлекая все или большую часть доступных данных с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсены не все сайты или некоторая часть данных, доступная для извлечения, не была извлечена. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. В коде присутствуют комментарии, достаточные для его понимания.
 
''6-7'': Написанные парсеры работают, извлекая все или большую часть доступных данных с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсены не все сайты или некоторая часть данных, доступная для извлечения, не была извлечена. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. В коде присутствуют комментарии, достаточные для его понимания.
  
''8-10'': Написанные парсеры работают, извлекая все доступные данные с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсены все сайты. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. Код проекта полностью закомментирован (опуская комментирование встроенных функций, подключение библиотек и пр. очевидные вещи).
+
''8-10'': Написанные парсеры работают, извлекая все доступные данные с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсено как минимум 90% сайтов. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. Код проекта полностью закомментирован (опуская комментирование встроенных функций, подключение библиотек и пр. очевидные вещи).
  
 
=== Похожие проекты ===
 
=== Похожие проекты ===
Строка 70: Строка 71:
 
Email: ''ikuzminov@hse.ru''
 
Email: ''ikuzminov@hse.ru''
  
Рабочий телефон: +7(495) 772-9590 доб. 12022
+
Рабочий телефон: +7 (495) 772-9590 доб. 12022
 +
 
 +
'''Технические\организационные и пр. вопросы: ''Юлия Исаева'' '''
 +
 
 +
Email: ''yisaeva@hse.ru''
 +
 
 +
Тел.: +7 (495) 772 9590 доб. 22543

Текущая версия на 23:03, 16 октября 2017

Компания ИСИЭЗ НИУ ВШЭ
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 3-5



Что это за проект?

Это проект по созданию единого репозитория для автоматизированного парсинга сайтов одной тематики, с целью дальнейшего использования извлеченной информации в аналитике и прогнозах.

С сайтов должны быть извлечены все максимально полезные метаданные о публикациях, статьях, грантах и т.п., например, время создания, авторство, категория, теги и т.п. параметры. Извлеченные данные должны будут автоматически загружены в унифицированном для всех их источников формате в облачное хранилище в виде таблиц баз данных (мы используем PostgreSQL). Задача по извлечению изначально может показаться достаточно простой, но на практике это далеко не так. В случаях с некоторыми сайтами можно будет применить инструменты разработанного у нас фреймворка на базе Scrapy для извлечения данных. Однако, скорее всего, придется работать также с такими инструментами как Selenium.

В итоге у команды, работающей над этим проектом, должен будет получится набор скриптов-парсеров, осуществляющих задачи, собственно, парсинга, а также загрузки данных в БД, запускаемых в рамках единого проекта (т.е. так, чтобы обработка группы сайтов могла быть запущена единой командой управления, без ручного вмешательства разработчиков).

Чему научатся студенты? Что самое интересное в проекте?

Анализировать и приводить к стандартному виду большие объемы совершенно разрозненных данных. Разрабатывать и дорабатывать платформенные механизмы (фреймворки) автоматизированного сбора данных с веб-сайтов. Работать с базами данных, разрабатывать алгоритмы автоматизированного их пополнения, изменения и пр. Работать с облачными сервисами БД (например, AWS). Командной работе (не только с программистами, но и с аналитиками и пр. специалистами). Гибкости ума и прочим навыкам парсинга (т. к. для извлечения некоторых данных приходится использовать весьма нетривиальные пути).

Организация работы (Как студенты будут работать в команде?)

Работа над проектом будет состоять из следующих этапов:

  • Самостоятельное ознакомление с базовыми возможностями основных инструментами и библиотек, используемых для разработки проекта;
  • Ознакомление с разработанным у нас фреймворком; обсуждение возможности использования определенных инструментов на каждой группе сайтов в отдельности;
  • Распределение обязанностей и начало разработки над проектом (тестовое)
  • Консультирование по первому (пробному) этапу работы над проектом, обсуждение проблем (технических, командных и пр.), установка плана работ над проектом (milestones и пр.)
  • Периодическая проверка на соответствие текущего состояния проработанности проекта обозначенному плану.
  • Финальная проверка реализации проекта.

Компоненеты (Из каких частей состоит проект?)

  • Разработанный в ИСИЭЗ фреймворк для извлечения данных (база для создания репозитория);
  • Разработанные самими студентами скрипты-парсеры на основании фреймворка (в случае возможности применения фреймворка для назначенных сайтов);
  • Разработанные самими студентами скрипты-парсеры на основании других библиотек парсинга (в случае не возможности применения фреймворка для назначенных сайтов);
  • Дополнения к фреймворку для обработки неформатных данных, упрощения процесса загрузки в БД и пр., написанные самими студентами, в случае необходимости создания таковых.

Какие будут использоваться технологии?

Python 3, Scrapy, Selenium, PostgreSQL, lxml, Pandas, собственный фреймворк организации на Python + Scrapy для парсинга сайтов Amazon Web Services

Какие начальные требования?

Знание Python на уровне, достаточном для быстрого освоения новых библиотек (для парсинга и пр.). Желательно знание Selenium, lxml, Scrapy или прочих библиотек. Наличие как минимум минимальных компетенций в работе с базами данных (в идеале — опыт работы с PostgreSQL)

Темы вводных занятий

  • Особенности парсинга на Python (в случае, если будут студенты, которые никогда не занимались решением подобного рода задач).
  • Особенности парсинга с помощью библиотеки Scrapy.
  • Особенности нашего фреймворка.

Критерии оценки

0-3: Написанные парсеры не работают или не извлекают большую часть доступных для извлечения данных, или данных извлекаются плохо и не в нужном формате, или распарсено по необъективным причинам менее 50% обозначенных сайтов, а также не организован доступ данных на общее хранилище (сбор данных производился на локальные устройства). Нет возможности проверить код, полностью отсутствуют комментарии и пояснения по проекту.

4-5: Написанные парсеры работают, извлекая все или большую часть доступных данных с сайтов, данные загружаются в правильном формате. По необъективным причинам распарсены не все сайты (до 65%) и некоторая часть данных, доступная для извлечения, не была извлечена или была извлечена неправильно. А также сбор данных производился на локальные устройства или проект написан на плохо читабельном коде, без комментариев.

6-7: Написанные парсеры работают, извлекая все или большую часть доступных данных с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсены не все сайты или некоторая часть данных, доступная для извлечения, не была извлечена. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. В коде присутствуют комментарии, достаточные для его понимания.

8-10: Написанные парсеры работают, извлекая все доступные данные с сайтов, данные загружаются в правильном формате на единое общедоступное облачное хранилище. Распарсено как минимум 90% сайтов. В части кода проекта, опирающейся на одни и те же инструменты, присутствует консистентность. Код проекта полностью закомментирован (опуская комментирование встроенных функций, подключение библиотек и пр. очевидные вещи).

Похожие проекты

Контактная информация

Ментор: Кузьминов Илья Филиппович

Email: ikuzminov@hse.ru

Рабочий телефон: +7 (495) 772-9590 доб. 12022

Технические\организационные и пр. вопросы: Юлия Исаева

Email: yisaeva@hse.ru

Тел.: +7 (495) 772 9590 доб. 22543