Рекомендательная система (семинар)
Общая информация
Семинар проходит в корпусе ШАДа, по средам, с 17:00. Встречаемся у входа в БЦ Мамонтов. Опоздание минут на 10 приводит к тому, что проектом вы будете заниматься дома, так что лучше все-таки не опаздывать.
Ментор: Денис Симагин. Вопросы задавать можно и нужно, но не те, ответ на которые можно найти на первой странице поисковой выдачи.
Описание проекта: Рекомендательная система (проект).
Встреча 3 февраля
Первая встреча. Обсуждали организационные моменты. Оговорили, кто какие ресурсы собирается взять для своей рекомендательной системы, но этот выбор еще можно поменять в течение недели. Указания к ресурсу: должно быть достаточно много статей, более-менее одной тематики.
Для хранения кода будет использоваться git, по крайней мере на первых порах. Соответственно, главное задание на эту неделю — разобраться с git'ом.
Также необходимо изучить выбранный ресурс и подумать, каким именно образом выкачивать оттуда статьи (например, бежать по ссылкам или использовать ленту).
Кто уже знает git, по желанию может уже начать писать crawler. Что для этого нужно:
- Скачать всю статью в HTML.
- Распарсить эту статью. Почистить от всякого мусора: картинок, ссылок, прочего, оставить только текст. Если есть опыт работы с базами, то можно использовать их, в противном случае лучше не тратить время на их изучение, достаточно хранить все в обычной директории. Распарсенные статьи хранятся отдельно, у них должны быть свои индексы и нужно уметь сопоставлять этот индекс с url статьи.
- Выкачать таким образом весь ресурс (mining).
- Уметь определять свежесть статьи.
- Уметь получать новые статьи.
Потенциально полезные ссылки:
- Code School - Try Git интерактивная почти игра, которая учит основным командам Git.
- Git - Documentation официальная документация Git.
- Git - Book перевод довольно обширной обучающей книги о Git от Скотта Шакона.
- Пошаговая инструкция по работе с git и github для студентов маленькая обзорная статья, с чего начать.
- My Python Web Crawler - Brett.Is How to write a very simplistic Web Crawler in Python for fun.