پیدا کردن اطلاعات فیلم ها با پایتون

زمان مطالعه: 6 دقیقه ویرایش: 1401/11/02

این روزا یکی از سرگرمی های جالب باحال دیدن فیلم و سریاله، اگر شما هم عاشق فیلم و سریال باشید حتمی چندباری وبسایت IMDB رو دیدید. اگر هم تا به حال اون رو ندیدید باید بدون این وبسایت داده هایی درباره فیلم ها، سریال ها و انیمیشن ها داره : نمره ها، توضیحات، داستان، عکس ها، عوامل و.....

و اما شاید شما نیاز داشته باشید تو یه برنامه از اینا استفاده کنید.برای اینکار میتونید از وب اسکرپینگ و.. استفاده کنید.

البته نه حالا که کتابخانه ای با عنوان cinemagoer وجود داره.

 


کتابخانه cinemagoer پایتون

نصب و استفاده :

برای نصب در خط فرمان ویندوز این متن را وارد میکنیم :

pip install cinemagoer

حالا وارد محیط برنامه نویسیمون میشیم و ابتدا کتابخانه را فراخوانی و بعد یک شیء ایجاد میکنیم :

from imdb import Cinemagoer
im = Cinemagoer()

جست و جو و اطلاعات یک فیلم :

movies = im.search_movie('matrix')
print(movies)

نتیجه به این صورت است :

[<Movie id:0133093[http] title:_The Matrix (1999)_>, <Movie id:0106062[http] title:_"Matrix" (1993)_>, <Movie id:11749868[http] title:_Matrix (2020)_>, <Movie id:10838180[http] title:_The Matrix Resurrections (2021)_>, <Movie id:0234215[http] title:_The Matrix Reloaded (2003)_>, <Movie id:0242653[http] title:_The Matrix Revolutions (2003)_>, <Movie id:9847360[http] title:_A Glitch in the Matrix (2021)_>, <Movie id:0295432[http] title:_The Matrix Revisited (2001) (V)_>, <Movie id:0328832[http] title:_The Animatrix (2003) (V)_>, <Movie id:0364888[http] title:_"Threat Matrix" (2003)_>, <Movie id:0365467[http] title:_Making 'The Matrix' (1999) (TV)_>, <Movie id:0277828[http] title:_Enter the Matrix (2003) (VG)_>, <Movie id:0410519[http] title:_The Matrix Recalibrated (2004) (V)_>, <Movie id:9642498[http] title:_The Matrix (2016)_>, <Movie id:9851526[http] title:_The Matrix (2004)_>, <Movie id:0390244[http] title:_The Matrix Online (2005) (VG)_>, <Movie id:12355912[http] title:_The Matrix: Reborn (2020) (TV)_>, <Movie id:0211096[http] title:_V-World Matrix (1999) (V)_>, <Movie id:11574780[http] title:_The Matrix Redeemed (2020)_>, <Movie id:15081902[http] title:_Beatrix (2021)_>]

مطمئنا این خیلی شلوغه و به درد هیچکس نمیخوره :

پس اگه میخواهیم فیلم هایی با این اسم رو ببینیم :

for m in movies:
    print(m)

نتیجه به این صورت است :

<Movie id:0133093[http] title:_The Matrix (1999)_>
<Movie id:0106062[http] title:_"Matrix" (1993)_>
<Movie id:11749868[http] title:_Matrix (2020)_>
<Movie id:10838180[http] title:_The Matrix Resurrections (2021)_>
<Movie id:0234215[http] title:_The Matrix Reloaded (2003)_>
<Movie id:0242653[http] title:_The Matrix Revolutions (2003)_>
<Movie id:9847360[http] title:_A Glitch in the Matrix (2021)_>
<Movie id:0295432[http] title:_The Matrix Revisited (2001) (V)_>
<Movie id:0328832[http] title:_The Animatrix (2003) (V)_>
<Movie id:0364888[http] title:_"Threat Matrix" (2003)_>
<Movie id:0365467[http] title:_Making 'The Matrix' (1999) (TV)_>
<Movie id:0277828[http] title:_Enter the Matrix (2003) (VG)_>
<Movie id:0410519[http] title:_The Matrix Recalibrated (2004) (V)_>
<Movie id:9642498[http] title:_The Matrix (2016)_>
<Movie id:9851526[http] title:_The Matrix (2004)_>
<Movie id:0390244[http] title:_The Matrix Online (2005) (VG)_>
<Movie id:12355912[http] title:_The Matrix: Reborn (2020) (TV)_>
<Movie id:0211096[http] title:_V-World Matrix (1999) (V)_>
<Movie id:11574780[http] title:_The Matrix Redeemed (2020)_>
<Movie id:15081902[http] title:_Beatrix (2021)_>

 

خب ما فقط همون اولین فیلم رو میخواهیم. پس به این صورت عمل میکنیم :

print(movies[0])

 

که نتیجه فقط یک فیلم است :

<Movie id:0133093[http] title:_The Matrix (1999)_>

 

اما ما برای دیدن اطلاعات فیلم به اون بخش id نیاز داریم.

movie = ia.get_movie('0094226')

 

حالا میتونید بخش های مختلف رو با ایندکس دریافت کنید :

print(movie['director'])

 


پیدا کردن کمپانی یا فرد :

برای پیدا کردن کمپانی یا یک فرد هم مانند فیلم عمل میکنیم.با این تفاوت :

>>> people = im.search_person('Keanu Reeves')
>>> poeple[0]['name']
'Keanu Reeves'
>>> com = im.search_company('warner')
>>> com[0]['name']
'Warner'

اما خب فیلم ها، نمره و... رو چطوری پیدا کنیم ؟ باید از ایندکس مخصوص خودشون استفاده کنید.

اگه میخواهید بیشتر با ایندکس ها آشنا بشید میتونید یه سر به داکیومنشن بزنید.

 


برترین فیلم ها :

یکی از بخش های جالب imdb برترین فیلم ها و سریال هاشه. میتونیم به این صورت به این بخش دسترسی پیدا کنیم :

top = im.get_top250_movies()
for movie in top:
    print(top)

حالا میتونید 250 فیلم برتر رو ببینید.اما اگه بخواهیم فقط یکی رو ببینیم :

>>> print(top[0]['title'])
'The Shawshank Redemption'

به همین راحتی. این کتابخانه یه بخش جالب دیگه هم داره : 100 تا از بدترین فیلما :

>>> bottom = im.get_bottom100_movies()
>>> print(bottom[0]['title'])
'Disaster Movie'

احتمالا هیچکس نمیخواد این فیلمو ببینه!

 

امیدوارم از این مطلب لذت برده باشید. این کتابخونه هم کتابخونه نسبتا بزرگیه. ما همه مبانی رو توضیح دادیم اما اگر میخواهید بیشتر بدونید باید به داکیومنشن رسمی کتابخونه یه سر بزنید.



1
user نوشته شده توسط محمدصدرا عبدالعلی زاده من صدرام ! برنامه نویسی دوست دارم :) درباره پایتون، جنگو و... یه چیزایی بلدم ;)


دیدگاه


برای ثبت دیدگاه، وارد شوید