Инструкция для «чайников»: перенос оценок фильмов с КиноПоиска на IMDB

от автора

Предисловие

Совсем недавно, когда началась эпопея с КиноПоиском, я задумался о переходе на IMDB — в плане переноса туда своих оценок фильмов. И желательно, чтобы это можно было сделать в автоматическом режиме, потому как проставлять вручную заново на IMDB свои 803 оценки фильмов не хотелось.

Поиски такой обработки привели меня на страницу камрада REDNBLACK-а., где он выложил, с его слов:

Простая программа импортирует оценки и добавляет в ваш список IMDB фильмы из файла *.xls, экспортированного с КиноПоиска

Простая?! Для тех, кто первый раз слышит (а таких на КиноПоиске, я думаю, процентов 80), что такое PHP, CURL, Composer — простая? За юмор — плюс в карму…

Вот как выразился пользователь Psyber с КиноПоиска, когда я ему предложил воспользоваться творением REDNBLACK-а:

Я, как простой смертный, не смог сообразить как ею воспользоваться, а очень бы хотелось…

Я расскажу что такое «простая»: это когда запускаешь приложение где два окна — в левом окне прописываешь ссылку на профиль в КиноПоиске, в правом — на профиль в IMDB и нажимаешь кнопку «Выполнить».

В любом случае — это лучше чем ничего, а REDNBLACK-у за проделанную работу — респект. Поэтому воспользовавшись, ну, прямо скажем спартанской инструкцией камрада, я приступил к переносу оценок фильмов. Вот что получилось.

Подготовка

Итак, сначала нам надо подготовить свои данные для переноса и установить на комп недостающий софт.

Заходим в свой профиль на КиноПоиске. Переходим на закладку «Оценки», жмём «экспорт в MS Exсel». Список с фильмами для переноса скачан, сам файл списка переименован и размещён в корень диска: d:\kinopoisk_N.xls

Самая лёгкая часть процедуры выполнена.

Согласно рекомендациям REDNBLACK-а, теперь нам надо установить PHP. Поиск в google сразу отправил меня на сайт для скачивания.

Так получилось, что в тот день, когда я занимался переносом, данная ссылка на скачивание была недоступна, поэтому PHP был скачан в составе пакета XAMPP:

Запускаем установочный файл XAMPP и из предлагаемого списка для установки, оставляем только PHP.

Следующий этап – установка Composer. Скачиваем установочный файл (прямая ссылка). Запускаем. Composer спросит нас: «где находится PHP?». Мы ему указываем папку C:\xampp\php, где у нас находится php.exe.

На IMDB регистрируем свой профиль или открываем уже зарегистрированный.

Создаем в своем профиле LIST (список) куда будем закачивать фильмы с оценками.

Раз:

Два:

Заходим во вновь созданный лист и записываем его id, который находится в адресной строке браузера — нам он еще пригодится. В моём случае id выглядит так:

Для переноса нам еще нужен id профиля. Что бы его найти, нажимаем комбинацию клавиш Ctrl+Shift+I (для Chrome). Находим сookies-строку авторизации:

Клацаем по строке сначала:

— два раза левой клавишей «мыши», потом
— один раз правой клавишей «мыши» и выбираем «Копировать».

Записываем id в текстовый файл для дальнейшей обработки.

Перенос

Начинается самое интересное.

Идем в гости к REDNBLACK-у и скачиваем его zip-архив:

Распаковываем архив на диск d:\

Открываем Windows PowerShell и последовательно вводим команды, не забыв сначала сменить диск: cd d:\

Вот где нам пригодился Composer.

А теперь всю собранную информацию будем собирать до кучи. Запускаем PowerShell и формируем строку-команду с параметрами на выполнение программы PHP. Эта строка имеет вид:

php application.php "полный путь к *.xls файлу" --auth="Cookie строка авторизации с IMDB" --list="ID списка для добавления" --query_format="тип запроса" 

Разберём эту строчку — что и куда подставлять:

1. «полный путь к *.xls файлу»:

d:\kinopoisk_N.xls

2. «Cookie строка авторизации с IMDB» (id профиля):

BCYkmNuQatCqhAmBX7k6158N8vu_26DTpFYfITPrIznWMrpFeLZipNznKBhXGoOJqsO9VoczRALY1fdNXMkkOPhoe9lua_kHr7xZMTTf-qkHiMOXx1HDif4eYyqGPKrYH-pnnWvFtrS7oBbbN87jUCyiG1cEIWHwSVsJKsYp8q1hl7aL0XZNIqQLT8X9sUhNER0VG

3. «ID списка (листа) для добавления»:

ls016952709 

4. «тип запроса»:

mixed 

(самый медленный, но надежный, процент точности около 90%)

Важно! Не забываем заключать текст опций в " ".

Складываем. Получаем готовую солянку:

php application.php d:\kinopoisk_N.xls --auth="BCYkmNuQatCqhAmBX7k6158N8vu_26DTpFYfITPrIznWMrpFeLZipNznKBhXGoOJqsO9VoczRALY1fdNXMkkOPhoe9lua_kHr7xZMTTf-qkHiMOXx1HDif4eYyqGPKrYH-pnnWvFtrS7oBbbN87jUCyiG1cEIWHwSVsJKsYp8q1hl7aL0XZNIqQLT8X9sUhNER0VG" --list="ls016952709" --query_format="mixed" 

Важно! Эту строку будем запускать из папки d:\kinopoisk\src, поэтому последовательность переходов и запуск программы на выполнение, будет выглядеть так:

Кстати, если кто знает как избавиться от неправильной кодировки в PowerShell я буду признателен за совет.

Жмём Enter — процесс переноса пошёл! Осталось подождать. Моё ожидание составило 1 час 20 мин.

Выводы

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

Перенеслось 732 рейтинга (оценки) из 803. Не перенеслась 71 оценка. У меня закрались подозрения, что в этом виновато кириллическое написание названий фильмов. Но REDNBLACK так отреагировал на это:

Кириллические символы воспринимает. Улучшить уже не получится, по моему это и так идеально-возможный результат, с такими-то плохими данными у КиноПоиска.

Впрочем, нам и не обещали 100% результат.

Заключение

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

P.S.: На перенос оценок фильмов (с изучением мануала, деталей, пробами, выявлению ошибок, консультациями) у меня ушло два дня. Если мой опыт кому-нибудь пригодится и позволит желающим, с учётом выше описанного мануала, затратить на перенос час времени — буду считать, что свое время я потратил не зря.

ссылка на оригинал статьи http://geektimes.ru/post/267770/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *