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');

エラーメッセージ:

GETのエラー http://www.imdb.com/find?s=all&q=fight+club:禁止

get(http://www.google.com)のようなものを書くと、問題なく動作します。imdbを使用する場合の違いは何ですか?代替ソリューションの提案はありますか?

4

2 に答える 2

5

IMDBは、おそらくUser-Agent文字列をスニッフィングし、WWW::Mechanize要求を拒否します。「解決策」は、自動化された方法でサイトと対話することからあなたをブロックしたいという彼らの願いを尊重することです。

(または、利用規約を非常に注意深く読んでから、ユーザーエージェント文字列を変更することもできます)

IMDbコンテンツのライセンス; ロボットとクローラーの使用に関する同意:非個人的(商用を含む)使用のためにIMDbコンテンツを使用するための書面による明示的な許可を受け取ることに関心がある場合は、コンテンツライセンスセクションにアクセスするか、ライセンス部門に連絡してください。書面による明示的な同意を得て、特定の検索エンジンからのものなど、ロボットやクローラーの限定的な使用を許可します。当サイトでロボットまたはクローラーを使用するための書面による明示的な許可の受け取りに関心がある場合は、ライセンス部門にお問い合わせください。

于 2010-12-11T19:06:39.617 に答える
0

デビッドは正しいです、それはおそらく起こっていることです。

しかし、FTP経由でIMDBから多くの情報が入手できることをご存知ですか?そして、彼らはスクレイピング以外に彼らの情報を入手するためにあなたが使うことができる多くのツールを持っているということですか?

http://www.imdb.com/interfacesを参照してください

于 2010-12-12T03:27:56.227 に答える