使用WWW :: Mechanize获取HTML导致"禁止"

hel*_*s35 0 perl get www-mechanize

我想通过使用WWW :: Mechanize来获取imdb电影的内容.首先,我必须找到一种方法来找到相应的/ title/tt*url.当我有一个叫做斗争俱乐部的电影时,我想访问这个链接:*ttp://www.imdb.com/find?s = all&q = fight + club由于某种原因,这已经失败了.下面是导致错误的行

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

错误信息:

错误获取 http://www.imdb.com/find?s=all&q=fight+club:禁止

如果我写了像get(http://www.google.com)这样的东西,它就可以了.使用imdb有什么区别?任何替代解决方案的建议?

Que*_*tin 5

IMDB可能会嗅探User-Agent字符串并拒绝WWW :: Mechanize请求."解决方案"是尊重他们阻止您以自动方式与网站交互的愿望.

(或者您可以非常非常仔细地阅读他们的条款和条件,然后更改用户代理字符串)

许可IMDb内容; 同意使用机器人和爬虫:如果您有兴趣获得我们明确的书面许可,将IMDb内容用于非个人(包括商业)用途,请访问我们的内容许可部分或联系我们的许可部门.我们允许在明确的书面同意下限制使用机器人和爬虫,例如来自某些搜索引擎的机器人和爬虫.如果您有兴趣获得我们在网站上使用机器人或爬虫的明确书面许可,请联系我们的许可部门.