ПОЛУЧИТЬ html с помощью WWW::Mechanize вызывает Запрещено

Я хочу получить содержимое фильма imdb с помощью WWW::Mechanize. Прежде всего, мне нужно найти способ найти соответствующий URL-адрес /title/tt*. Когда у меня есть, например, фильм под названием «Бойцовский клуб», я хочу перейти по этой ссылке: *ttp://www.imdb.com/find?s=all&q=fight+club По какой-то причине это уже не работает. Вот строка, которая вызывает ошибку

$mech->get('http://www.imdb.com/find?s=all&q=fight+club');

сообщение об ошибке:

Ошибка GETing http://www.imdb.com/find?s=all&q=fight+club: Запрещено

Если я пишу что-то вроде get(http://www.google.com), все работает нормально. Какая разница при использовании imdb? Любое предложение для альтернативного решения?


person helios35    schedule 11.12.2010    source источник
comment
Возможно, вам нужен search.cpan.org/dist/IMDB-Film (IMDB:: Фильм)?   -  person MkV    schedule 12.12.2010


Ответы (2)


IMDB, вероятно, обнюхивает строку User-Agent и отклоняет запросы WWW::Mechanize. «Решение» состоит в том, чтобы уважать их желание заблокировать ваше взаимодействие с сайтом в автоматическом режиме.

(Или вы можете очень-очень внимательно прочитать их условия, а затем изменить пользовательский агент нить)

Лицензирование контента IMDb; Согласие на использование роботов и поисковых роботов. Если вы заинтересованы в получении нашего явного письменного разрешения на использование контента IMDb для неличного (в том числе коммерческого) использования, посетите наш раздел «Лицензирование контента» или свяжитесь с нашим отделом лицензирования. Мы разрешаем ограниченное использование роботов и сканеров, например, из определенных поисковых систем, с нашего явного письменного согласия. Если вы заинтересованы в получении нашего прямого письменного разрешения на использование роботов или поисковых роботов на нашем сайте, обратитесь в наш отдел лицензирования.

person Quentin    schedule 11.12.2010
comment
imdb.com/interfaces предоставляет список альтернативных интерфейсов, включая получение необработанных данных. - person MkV; 12.12.2010

Дэвид прав, это, вероятно, то, что происходит.

Но знаете ли вы, что через FTP можно получить много информации из IMDB? И что у них есть ряд инструментов, которые вы можете использовать, чтобы получить их информацию, кроме парсинга?

См. http://www.imdb.com/interfaces.

person AmbroseChapel    schedule 12.12.2010