誰かが以前にこれをしたことがありますか? Webサービスがあるはずなのに、見つかりません。 IMDBからの基本情報を表示するだけの個人用アプリケーションを作成しています。
利用可能なWebサービスはありません。
しかし、あなたのニーズに合うようにすべての言語で書かれた十分なhtmlスクレーパーがあります!
。NET 3.5 Imdb Servicesオープンソースプロジェクト をいくつかの個人的なプロジェクトで使用しました。
1分間のグーグル結果:
IMDb のライブラリは、現時点では非常に信頼性が低く、非常に非効率的です。私は本当に願っています IMDb はただウェブサービスを作成するでしょう。
少し検索した後、私は IMDb の合理的な代替案を見つけました。概要、年、評価、ポスター、予告編などのすべての基本情報を提供します。
これは、Webサービスに いくつかの言語のラッパー を提供し、これまでのところ信頼できるようです。私自身、検索結果もより正確になりました。
IMDbが公開する唯一の「API」は、俳優、監督、映画などのフォーマットされたリストを含む プレーンテキストデータファイル のセットです。誰かがリリースしない限り、独自のパーサーを作成する必要があります。あなたの言語のために。 「imdbapi」や「imdbparser」などのGoogle検索を試してください。
スクリーンスクレイパーは便利かもしれませんが、具体的には スクレイパーを禁止 使用法です。
これは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サイトにアクセスして他のオプションを表示していることに注意してください。
これが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 );
IMDBはスクレーパーを禁止しており、ページレイアウトを時々変更するため、HTMLの解析はオプションですが、コードを年に2〜3回調整する準備をしてください(そこで、それを行い、あきらめます)。彼らはデータへのフルアクセスを提供する有料のサービスを持っていますが、それが何のためにあるのかを説明し、競争力のあるウェブサイトを構築していないことを彼らに納得させる必要があります(私はそれにリンクしていましたが、変更され、現在は見つかりません)。
現在、http://www.imdb.com/xml/find?json=1&q=Harry+Potter
のような(文書化されていない)APIがあります。 IMDBはAPIを提供していますか? を参照してください。
TRYNT Heavy Technologiesは、基本的なIMDbデータを取得するためのWebサービスを(無料で)提供しています http://www.trynt.com/trynt-movie-imdb-api/ で彼らのサイトをチェックしてください。また、テレビデータ用の個別のサービスもあります。