如何从 imdbpy 检索 IMDB 电影 ID?

How to retrieve IMDB movie ID from imdbpy?

Python imdbpy 模块允许您按电影名称搜索。

示例:


import imdb


ia = imdb.IMDb()

search_movie = ia.search_movie('Ready Player One')

结果:


[<Movie id:1677720[http] title:_Ready Player One (2018)_>, <Movie id:8183756[http] title:_"Projector" Ready Player One (2018)_>, <Movie id:13695838[http] title:_"Big Pauly Talks Movies" Ready Player One (2018)_>, <Movie id:8045574[http] title:_"Ready Player One LIVE at SXSW" (2018)_>, ...]

如何从结果中抓取第一个Movie id

尝试过:

快速查看源代码表明您需要 print(search_movie[0]['movieID'])print(search_movie[0].getID()

假设这是纯粹的 Python 而不是 Xytron, 您的搜索正在返回一个列表类型的变量,正如您所发现的,第一个结果可以用...

尝试打印(search_movie[0])

search_movie[0]的内容是一个简单的文本字符串。 一种方法是抓住之间的数字 id:[http]

如果 IMDb 模块无法为您提供所需的确切格式,您可以通过查找操作结果以获取 [http] 的位置,并假设剪切的开始将是字符编号10(从 0 开始)。

endCut = search_movie[0].find("[http]")

MovieID= search_movie[0][10, endCut]

MovieID 将是一个字符串。要使其成为整数,您需要做 MovieID= int(search_movie[0][10, endCut]) 在字符串中,或​​者你可以用