0

我想通过使用 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');

错误信息:

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

如果我写 get(http://www.google.com) 之类的东西,它就可以正常工作。使用 imdb 有什么区别?任何替代解决方案的建议?

4

2 回答 2

5

IMDB 可能会嗅探用户代理字符串并拒绝 WWW::Mechanize 请求。“解决方案”是尊重他们阻止您以自动化方式与网站交互的意愿。

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

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

于 2010-12-11T19:06:39.617 回答
0

大卫是对的,这可能就是正在发生的事情。

但是您知道通过 FTP 可以从 IMDB 获得大量信息吗?并且他们有许多工具可以用来获取他们的信息而不是抓取?

http://www.imdb.com/interfaces

于 2010-12-12T03:27:56.227 回答