Module dataMovies.dataMoviesFeatures
Expand source code
#!/usr/bin/env python3
import pandas as pd
from .serializers.imdbSerializers import imdb_reviews_to_df
from .serializers.imdbSerializers import imdb_users_ratings_to_df
from .services.imdbService import search_movie_reviews
from .services.imdbService import search_movie_users_ratings
def search_movie_reviews_df(api_key, expression):
"""Fetch movie reviews in pandas.DataFrame() format from ImDb API.
Args:
api_key: a valid ImDb API token string (e.g. 'k_12345678')
expression: search expression corresponding to your targeted movie (e.g. 'spider-man')
Returns:
Movie reviews in pandas.DataFrame() corresponding to searching expression.
"""
movie_reviews = search_movie_reviews(api_key, expression)
return imdb_reviews_to_df(movie_reviews)
def search_movies_reviews_df(api_key, expressions):
"""Fetch movies reviews in pandas.DataFrame() format from ImDb API.
Args:
api_key: a valid ImDb API token string (e.g. 'k_12345678')
expressions: a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man'])
Returns:
Movie reviews in pandas.DataFrame() corresponding to all searching expressions.
"""
movies_reviews = [search_movie_reviews_df(api_key, expression) for expression in expressions]
return pd.concat(movies_reviews).reset_index(drop=True)
def search_movie_users_ratings_df(api_key, expression, stat='ratings'):
"""Fetch movie users ratings in pandas.DataFrame() format from ImDb API.
Args:
api_key: a valid ImDb API token string (e.g. 'k_12345678')
expression: search expression corresponding to your targeted movie (e.g. 'spider-man')
stat (optional): string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll).
'ratings' (default): shows the rating notes distribution among all voters.
'demographicMales': shows ratings per age range for males.
'demographicFemales': shows ratings per age range for females.
'demographicAll': shows ratings per age range for males and females.
Returns:
Movie users ratings in pandas.DataFrame() corresponding to searching expression regardings the stat you chose.
"""
movie_ratings = search_movie_users_ratings(api_key, expression)
return imdb_users_ratings_to_df(movie_ratings, stat)
def search_movies_users_ratings_df(api_key, expressions, stat='ratings'):
"""Fetch movies users ratings in pandas.DataFrame() format from ImDb API.
Args:
api_key: a valid ImDb API token string (e.g. 'k_12345678')
expressions: a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man'])
stat (optional): string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll).
'ratings' (default): shows the rating notes distribution among all voters.
'demographicMales': shows ratings per age range for males.
'demographicFemales': shows ratings per age range for females.
'demographicAll': shows ratings per age range for males and females.
Returns:
Movie users ratings in pandas.DataFrame() corresponding to all searching expressions regardings the stat you chose.
"""
movies_ratings = [search_movie_users_ratings_df(api_key, expression, stat) for expression in expressions]
return pd.concat(movies_ratings).reset_index(drop=True)
Functions
def search_movie_reviews_df(api_key, expression)
-
Fetch movie reviews in pandas.DataFrame() format from ImDb API.
Args
api_key
- a valid ImDb API token string (e.g. 'k_12345678')
expression
- search expression corresponding to your targeted movie (e.g. 'spider-man')
Returns
Movie reviews in pandas.DataFrame() corresponding to searching expression.
Expand source code
def search_movie_reviews_df(api_key, expression): """Fetch movie reviews in pandas.DataFrame() format from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') expression: search expression corresponding to your targeted movie (e.g. 'spider-man') Returns: Movie reviews in pandas.DataFrame() corresponding to searching expression. """ movie_reviews = search_movie_reviews(api_key, expression) return imdb_reviews_to_df(movie_reviews)
def search_movie_users_ratings_df(api_key, expression, stat='ratings')
-
Fetch movie users ratings in pandas.DataFrame() format from ImDb API.
Args
api_key
- a valid ImDb API token string (e.g. 'k_12345678')
expression
- search expression corresponding to your targeted movie (e.g. 'spider-man')
stat
:optional
- string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll). 'ratings' (default): shows the rating notes distribution among all voters. 'demographicMales': shows ratings per age range for males. 'demographicFemales': shows ratings per age range for females. 'demographicAll': shows ratings per age range for males and females.
Returns
Movie users ratings in pandas.DataFrame() corresponding to searching expression regardings the stat you chose.
Expand source code
def search_movie_users_ratings_df(api_key, expression, stat='ratings'): """Fetch movie users ratings in pandas.DataFrame() format from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') expression: search expression corresponding to your targeted movie (e.g. 'spider-man') stat (optional): string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll). 'ratings' (default): shows the rating notes distribution among all voters. 'demographicMales': shows ratings per age range for males. 'demographicFemales': shows ratings per age range for females. 'demographicAll': shows ratings per age range for males and females. Returns: Movie users ratings in pandas.DataFrame() corresponding to searching expression regardings the stat you chose. """ movie_ratings = search_movie_users_ratings(api_key, expression) return imdb_users_ratings_to_df(movie_ratings, stat)
def search_movies_reviews_df(api_key, expressions)
-
Fetch movies reviews in pandas.DataFrame() format from ImDb API.
Args
api_key
- a valid ImDb API token string (e.g. 'k_12345678')
expressions
- a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man'])
Returns
Movie reviews in pandas.DataFrame() corresponding to all searching expressions.
Expand source code
def search_movies_reviews_df(api_key, expressions): """Fetch movies reviews in pandas.DataFrame() format from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') expressions: a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man']) Returns: Movie reviews in pandas.DataFrame() corresponding to all searching expressions. """ movies_reviews = [search_movie_reviews_df(api_key, expression) for expression in expressions] return pd.concat(movies_reviews).reset_index(drop=True)
def search_movies_users_ratings_df(api_key, expressions, stat='ratings')
-
Fetch movies users ratings in pandas.DataFrame() format from ImDb API.
Args
api_key
- a valid ImDb API token string (e.g. 'k_12345678')
expressions
- a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man'])
stat
:optional
- string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll). 'ratings' (default): shows the rating notes distribution among all voters. 'demographicMales': shows ratings per age range for males. 'demographicFemales': shows ratings per age range for females. 'demographicAll': shows ratings per age range for males and females.
Returns
Movie users ratings in pandas.DataFrame() corresponding to all searching expressions regardings the stat you chose.
Expand source code
def search_movies_users_ratings_df(api_key, expressions, stat='ratings'): """Fetch movies users ratings in pandas.DataFrame() format from ImDb API. Args: api_key: a valid ImDb API token string (e.g. 'k_12345678') expressions: a list of search expressions corresponding to your targeted movies (e.g. ['inception', 'spider-man']) stat (optional): string from {'ratings', 'demographicMales', 'demographicFemales', 'demographicAll'} (e.g. demographicAll). 'ratings' (default): shows the rating notes distribution among all voters. 'demographicMales': shows ratings per age range for males. 'demographicFemales': shows ratings per age range for females. 'demographicAll': shows ratings per age range for males and females. Returns: Movie users ratings in pandas.DataFrame() corresponding to all searching expressions regardings the stat you chose. """ movies_ratings = [search_movie_users_ratings_df(api_key, expression, stat) for expression in expressions] return pd.concat(movies_ratings).reset_index(drop=True)