сайт где можно оценивать игры

Анализируй это: оценки игр на Metacritic

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

Предыстория

Многие из нас весной-летом этого года получили в своё распоряжение несколько свободных часов в день – работа на дому, спад деловой активности и другие причины всем известны. Своё свободное время я решил обратить на пользу – подтянуть R, которым не пользовался с университетских времён, а заодно и попрактиковаться на реальных данных (грош цена сертификатам без реальных проектов).

Почему я выбрал именно эту базу? Потому, что люблю игры. А ещё, потому что в июне случился скандал вокруг игры The Last of Us. Part II, которая получила практически полное признание критиков, и была крайне негативно воспринята частью игрового сообщества.

Мне было интересно найти ответ на несколько вопросов:

Первая попытка. Относительный успех

Искать ответы я решил на metacrtitic.com – это крупный сайт, который агрегирует оценки игровых изданий и даёт возможность оценивать игры (и не только их) пользователям (важное замечание: для того, чтобы поставить оценку игре, совсем не обязательно подтверждать владение ею). Казалось, задача будет простой: «Пропарси метакритик и пощупай базу руками!»

Сказано – сделано. Наверное, для аудитории Хабра это не будет секретом: сегодня для того, чтобы написать работающий (!= хороший) код – вовсе не обязательно быть программистом. По крайней мере, я вполне уверовал в это, решая свою задачу.

Вооружившись гуглом, stackoverflow и тем, что смогу усвоить на DataCamp, я за день собрал базу из

16 тыс. строк, где для каждой записи сохранил название, платформу, пользовательскую оценку, оценку критиков и дату релиза, и тут же построил по ней два графика, которые затем выложил на одну из российских площадок игровой и околоигровой тематики.


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

Вторая попытка. Интересное только начинается

Полагаю, что для аудитории Хабра это не будет секретом: самонадеянность – плохо, а написать работающий (!= хороший) код – задача не из простых, какими бы полезными не были stackoverflow, гугл и гайды «парсить страницы в интернете легко, нужно всего лишь…»

Первые получившиеся графики я опубликовал 24 и 25 июня, и следующую неделю с трудом мог думать о чём-то, кроме сбора большего количества информации.

Однако код, который я написал, вёл себя совершенно ужасно. Он:

Решение первой проблемы может показаться тривиальным любому, кто зарабатывает программированием – но я не отношусь к их числу, поэтому предлагаю просто усмехнуться вместе со мной (откровенно говоря, это был настоящий «Aha!»-момент, хотя сама проблема просто смешная).

История не сохранила код, но у меня остался скриншот – можете оценить под спойлером (осторожно, возможен приступ испанского стыда).

В конечном счёте обе проблемы удалось решить. Код парсера выложен на GitHub. Уверен, что в нём есть ещё много спорных моментов, но теперь он, кажется, работает (что определённо добавляет мне очков к ЧСВ).

Амбулаторная карта пациента или описание базы Metacritic.com

Финальный список страниц с играми, которые необходимо было пропарсить, был составлен первого июля и включал в себя 96 719 записей – ссылок на страницу игры на Metacritic.com (я собирал базу ссылок из алфавитного указателя для каждой доступной платформы, поэтому одна и та же игра может встречаться в базе для каждой отдельной платформы; справедливости ради надо отметить, что оценки в этих случаях также независимы).

Это интересно: на самом деле, пригодных для работы записей в этой базе получилось 96 718. Metacritic хранит в алфавитном списке для PC игру под названием *** (да, это три астериска – и нет, это не цензура), однако ссылка в этом списке ведёт на страницу PC-игр, а не на существующую страницу игры. Добавлять её «руками» не вижу особого смысла – у игры нет ни пользовательской оценки, ни оценки критиков; следовательно, и пользы для анализа нет практически никакой (с учётом размера базы, разумеется).

Из 96 718 оставшихся строк 213 ссылок ведут на страницу 404 или «ругаются» на 500 ошибку