Comments 12
«Web scraping», чую серьезно отстал от жизни… в мое время это называлось просто парсинг.
Спасибо за анализ данных.
а зачем было читать imdb, если кинопоиск показывает его рейтинг у себя?
Спасибо за анализ данных.
а зачем было читать imdb, если кинопоиск показывает его рейтинг у себя?
Пожалуйста. Термины скрэпинг и парсинг часто подменяют друг друга. Можно встретить, что в одном абзаце автор называет свои действия скрэпингом, а в другом парсингом.
Действительно, рейтинги и голоса IMDB отображаются на кинопоиске и для анализа данных лучше было бы получить всю информацию с одного источника. Но для меня важно было ещё и «набить» руку, а в этом плане прочитать два сайта лучше, чем один. Ну и плюс тогда бы нельзя было построить график со средними оценками жанров на IMDB
Действительно, рейтинги и голоса IMDB отображаются на кинопоиске и для анализа данных лучше было бы получить всю информацию с одного источника. Но для меня важно было ещё и «набить» руку, а в этом плане прочитать два сайта лучше, чем один. Ну и плюс тогда бы нельзя было построить график со средними оценками жанров на IMDB
Тоже не очень понятно, зачем там какие-то дополнительные библиотеки, если сразу можно в тексте строку нужную искать.
Доброго времени суток.
На диаграмме «рассеяния разницы в оценках в зависимости от числа голосов...» бросаются в глаза 2 аномальные точки. Стало любопытно, что за фильмы?
На диаграмме «рассеяния разницы в оценках в зависимости от числа голосов...» бросаются в глаза 2 аномальные точки. Стало любопытно, что за фильмы?
Интересно было бы посмотреть по жанрам, как отличаются оценки на этих площадках. Таким образом можно было бы понять специфику российской аудитории по сравнению с условно «усредненным по миру» imdb. Например, отсортировать жанры по разнице между средней или медианной оценкой на 2 площадках для фильмов с числом голосов 10000+ или типа того.
К сожалению, моя база данных слишком мала для того, чтобы сделать нормальную выкладку, но вот что получается если посчитать среднюю разницу в оценках между кинопоиском и imdb для фильмов с более 10000 голосов на обоих сайтах. Таблица для жанров, которые упоминаются более 150 раз. Положительная дельта — это выше оценка на кинопоиске. Народ на Кинопоиске больше любит мелодрамы, фэнтази и комедии.
Спасибо, полезная статья по демонстрации практических возможностей R.
А ещё меня приятно удивило качество кода (оформление и использованные подходы). Пара вещей, которые бросились в глаза:
- Достаточно много мест, читаемость которых может улучшить использование pipe-оператора %>%. Например, вот эти строки можно записать как одну цепочку операций без ненужных переприсваиваний.
- Вы подгружаете весь пакет tidyverse, а используете только функции из stringr. Можно было бы использовать побольше tidyverse функций, что тоже упростило бы читаемость. Например, вместо этой и этой строк можно было использовать map_dfr() из пакета purrr (и опять же можно было не использовать "лишнюю" переменную
table
). - Использование явных методов обобщённых (generic) функций обоснованно только в редких случаях (например, когда очень важны несколько десятков микросекунд). Поэтому вместо
rbind.data.frame
здесь лучше использовать простоrbind
. Или вообще вместо всей команды функцию bind_rows().
А почему был выбран именно R? В python например есть отличное решение для парсинга — scrapy. За счет того, что сразу посылается несколько запросов, и их обработка идет по мере получения ответа, работа займет намного меньше времени. А ваш скрипт насколько я понимаю последовательно идет по годам/страницам.
Sign up to leave a comment.
Web scraping с помощью R. Сравнение оценок фильмов на сайтах Кинопоиск и IMDB