Создание парсера для Кинопоиск

На днях потребовалось создать парсер, который собирал бы информацию с сайта Кинопоиск. Изначально, я стал писать парсер для rmdb.ru, но потом наткнулся на то, что на rmdb есть далеко не все фильмы. По этому, частенько парсер ошибался и выдавал не те результаты, которые хотелось бы видеть. И было принято решение поменять источник с rmdb на Кинопоиск. Хочу сразу предостеречь, что в кинопоиске есть защита от таких вот парсеров. При привышении определенного числа запросов, ваш ip-адрес на определенное время блокируется. Что не есть удобно для обработки! Есть два выхода — использовать прокси или авторизацию. Т.к. судя по тестам, зарегистрированные пользователи не ограничены в количестве запросов.

Ок, передем от слов к делу. Чтобы осуществить авторизацию или работать через прокси, я воспользовался уже готовым классом Snoopy (ссылку на него можно найти в конце статьи). Хотя, первые попытки, были через CURL.

При первых ошибках на Кинопоиске, когда меня первый раз заблокировало. Я думал, что блокировка идет из-за того, что у меня в заголовке не указан user-agent. Пробовал его установить — не помогало. Устанавливается user-agent следующим образом:

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

Ссылки по теме

1. Класс Snoopy

About the Author:

Leave A Comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.