誰もこれを以前にやったことがありますか?Webサービスが必要なように思えますが、見つかりません。IMDB から基本情報を表示するだけの個人用アプリケーションを作成しています。
10 に答える
IMDbのライブラリは、現時点では非常に信頼性が低く、非常に非効率的です。IMDbが Web サービスを作成することを本当に望んでいます。
少し検索した後、IMDbの合理的な代替手段を見つけました。概要、年、評価、ポスター、予告編などのすべての基本情報を提供します。
いくつかの言語のラッパーを備えた Web サービスを提供しており、これまでのところ信頼できるようです。検索結果は、私自身もより正確になりました。
利用可能な Web サービスはありません。
しかし、必要に応じてすべての言語で書かれた html スクレーパーが十分にあります。
私はいくつかの個人的なプロジェクトで.NET 3.5 Imdb Services オープンソース プロジェクトを使用しました。
1 分間の Google 検索結果:
- Perl: IMDB-フィルム
- Ruby: libimdb-ruby
- パイソン: IMDbPY
IMDb が発行する唯一の「API」は、俳優、監督、映画などの書式設定されたリストを含む一連のプレーンテキスト データ ファイルです。誰かがあなたの言語用にパーサーをリリースしていない限り、おそらく独自のパーサーを作成する必要があります。「imdb api」や「imdb parser」などの Google 検索を試してください。
スクリーン スクレーパーは便利かもしれませんが、使用条件でスクレーパーを明確に禁止しています。
これがRegExを使用した私自身の解決策です:
private const string UglyMovieRegex = "(?<=5>|3>)(Cast|Director:|Fun\\sStuff|Genre:|Plot:|Runtime:|Tagline:|Writers:)"
+ "|href=\"[\\w\\d/]+?(Genres|name|character)/([\\w]+?)/\".*?>([.\\-\\s\\w]+)</a>"
+ "|(?<=h\\d>)([.\\w\\s'\\-\"]+)(?=<a\\sc|</d|\\|)";
Regex MovieData = new Regex (UglyMovieRegex, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline );
これは 2 年以上前に投稿されたものですが、簡単な python コードを次に示します。
import urllib2
movie_id = raw_input('Enter the ID of the movie: ')
json = urllib2.urlopen('http://imdbapi.com/?i=' + movie_id + '&r=json')
print json.read()
imdb.py として保存し、シェルやターミナルなどで実行します
xml データが必要な場合は、json を xml に置き換えるだけです
これは、imdbapi.com Web サイトを使用して json の結果を返していることに注意してください。その Web サイトにアクセスして、その他のオプションを表示してください。
IMDB はスクレイパーを禁止しており、時々ページ レイアウトを変更するため、HTML の解析はオプションですが、年に 2 ~ 3 回はコードを調整する準備をしておいてください (行った後はあきらめてください)。彼らはデータへの完全なアクセスを提供する有料サービスを提供していますが、それが何のためにあるのかを説明し、競争力のあるウェブサイトを構築しているのではないことを彼らに納得させる必要があります (私はそれへのリンクを持っていましたが、変更され、現在は見つかりません)。
もう 1 つの方法は、ローカル マシンで IMDB データベースを実行することです。Java Movie Databaseは、IMDB データベース ファイルをインポートして変換し、ローカルでアクセス可能な IMDB のコピーを提供します。IMDB には、Java Movie Database にない機能やその逆の機能がありますが、探しているものがすべてのデータにすばやくアクセスできる場合は、これを試してみる価値があるかもしれません。
のような (文書化されていない) API がありhttp://www.imdb.com/xml/find?json=1&q=Harry+Potter
ます。IMDB は API を提供していますか?を参照してください。
TRYNT Heavy Technologies は、基本的な IMDb データを取得するための Web サービスを (無料で) 提供しています。http://www.trynt.com/trynt-movie-imdb-api/ のサイトをチェックしてください。また、テレビ データ用の別のサービスもあります。