Web services 连接到IMDB
以前有人这样做过吗?在我看来,应该有一个Web服务,但我找不到。我正在编写一个个人应用程序,只显示IMDB的基本信息。没有可用的Web服务 但是每种语言都有足够多的html scraper来满足您的需要 我已经在一些个人项目中使用了 1分钟谷歌搜索结果:Web services 连接到IMDB,web-services,imdb,Web Services,Imdb,以前有人这样做过吗?在我看来,应该有一个Web服务,但我找不到。我正在编写一个个人应用程序,只显示IMDB的基本信息。没有可用的Web服务 但是每种语言都有足够多的html scraper来满足您的需要 我已经在一些个人项目中使用了 1分钟谷歌搜索结果: Perl: 红宝石: Python: IMDb发布的唯一“API”是一组包含演员、导演、电影等的格式化列表。您可能需要编写自己的解析器,除非有人为您的语言发布了解析器。试试谷歌搜索,比如“imdb api”和“imdb解析器” screen
- Perl:
- 红宝石:
- Python:
- IMDb发布的唯一“API”是一组包含演员、导演、电影等的格式化列表。您可能需要编写自己的解析器,除非有人为您的语言发布了解析器。试试谷歌搜索,比如“imdb api”和“imdb解析器”
screen scraper可能有用,但它们在使用方面是特别有用的。IMDB禁止scraper,并每隔一段时间更改页面布局,因此解析HTML是一种选择,但要准备好每年调整代码2-3次(在那里,这样做了,放弃了)。他们确实有一个收费服务,可以完全访问数据,但你还需要解释它的用途,并说服他们你没有建立一个有竞争力的网站(我有一个链接,但它似乎已经改变,现在找不到了)。下面是我自己使用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 );
private const string UglyMovieRegex=“(?| 3>)(演员、导演:趣味、风格:情节:运行时:标语:编剧:)”
+“|href=\”[\\w\\d/]+?(流派名称字符)/([\\w]+?)/\”*?>([.\-\\s\\w]+)”
+“|”(?)([.\\w\\s'\\-\“]+)(?=TRYNT Heavy Technologies提供(免费)用于检索基本IMDb数据的web服务--请访问他们的网站。他们还有一个单独的电视数据服务。另一种选择是在本地计算机上运行IMDb数据库。导入IMDb数据库文件,转换它们,并提供一个本地可访问的IMDb副本。IMDb具有一些Java Movie D支持的功能atabase没有,visa也没有,但如果您想要的是快速访问所有数据,那么不妨尝试一下。的库目前似乎非常不可靠,效率非常低。我真的希望您只创建一个Web服务
经过一番搜索,我找到了一个合理的替代方案。它提供了所有基本信息,如概述、年份、评级、海报、预告片等:
它提供了一个Web服务,到目前为止似乎是可靠的。对我来说,搜索结果也更加准确。虽然这是两年前发布的,但这里有一个简单的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,然后在shell或terminal中运行
如果需要xml数据,只需用xml替换json即可
请注意,这是使用imdbapi.com网站返回json结果。请访问该网站查看更多选项。现在有一个类似http://www.imdb.com/xml/find?json=1&q=Harry+波特
。请参见至少有一个名为IMDb8的非官方IMDb API。它有大约31个端点,包括
今日出生的演员/名单
演员/获奖摘要
标题/获取情节
标题/获得顶级船员
等等。与其他任何API一样,它的使用非常简单。我使用此API构建了一个有趣的琐事项目。您可以找到一个关于如何使用的教程。您完全正确地认识到禁止使用刮刀这一事实,但因为它仅用于个人用途,所以我不会将其视为“停止显示”.Trynt死了吗?已经停了几天了。谢谢,我正在找这个来简化我在大学里的项目工作:)嗨,我不明白为什么imdb不允许网络垃圾,但他们让你完全访问他们的完整数据?你知道原因吗?这根本没有意义,因为网页抓取只是从他们已经提供的网站上获取数据?