Тестовое задание
Собрал практически всё ценное с каждой пользовательской рецензии по фильму 'Побег из шоушенка' в удобном формате ["date", "time", "Was review helpful", "Was review unhelpful", "Author", "Title", "Review text", "Length of review text", "Was review positive"] Можно сразу аггрегировать и сортировать по дате, она в нормальном формате yyyymmdd. Единственное не вошедшее, но потенциально полезное, это ссылка на профиль автора ревью. Но по идее имени достаточно.
Кинопоиск неожиданно милосердно относится к скраперам, но все таки он иногда обрывает связь Возможность уменьшить детекцию еще дальше: 1.Указать реферер - сайт, с которого я пришел(?) 2.Сделать ротацию всех хедеров с браузера, а не только юзерагента / поустанавливать браузеры и позаписывать их хедеры https://httpbin.org/anything 3.Прогрузка жаваскрипта - уменьшить детекцию + получить возможность работать с жаваскрипт pagination 4.Прокси и их ротация - самое муторное, снизит детекцию по айпи(использовать tor/бесплатные впн?) 5.Можно сделать менее предсказуемые паузы и сделать повторные попытки загрузки / Возможность продолжать загрузку с места, на котором она оборвалась
Ну и отрефакторить можно получше, но для тестового задания сойдет.
Очень странно - на сайте доступно 57 страниц обзоров, но путем 'ручного' редактирования URL я получил секретные 58, 59 и 60-ю страницу отзыва) Возможно инженерам Кинопоиска стоит обратить внимание на этот баг.
ИТОГО: cat all_the_reviews.csv | wc -l выдает 8338 отзывов