#python #flask #imdbpy
#python #flask #imdbpy
Вопрос:
Я создаю приложение для поиска фильмов в flask, используя пакет imdbpy. Это простое приложение, в котором вы вводите название фильма, и оно показывает вам фильмы / телешоу с этим именем. Все работает нормально, за исключением того, что отображение результатов поиска занимает слишком много времени (около 45 секунд). Я не могу понять, как это исправить. Может кто-нибудь помочь мне с этой проблемой? Спасибо!
app.py
from flask import Flask, render_template, request
from imdb import IMDb
app = Flask(__name__)
instance = IMDb()
@app.route("/")
def home():
return render_template("home.html")
@app.route("/movies", methods=["GET", "POST"])
def movies():
if request.method == "POST":
search = request.form.get("name")
movie = instance.search_movie(str(search))
movie_three = []
for i in range(len(movie)):
id_number = movie[i].movieID
movie_two = instance.get_movie(id_number)
movie_three.append(movie_two)
return render_template("movies.html", movie=movie, movie_three=movie_three)
else:
return render_template("home.html")
if __name__ == "__main__":
app.run(debug=True)
movies.html
{% extends "base.html" %}
{% block content%}
{% for m in movie_three %}
<div class="all_cards" >
<div class="card">
{% if m["cover"]%}
<img class="image" src={{m["cover"]}}>
{% else %}
<img class="image" src="static/poster.png">
{% endif %}
</div>
<div class="card-body" >
{% if m["year"] %}
<h5 class="title">{{m["title"]}} ({{m["year"]}})</h5>
{% else %}
<h5 class="title">{{m["title"]}}</h5>
{% endif %}
{% if m["genres"]%}
<h6 class="genres">{{m["genres"][0]}} {{m["genres"][1]}} {{m["genres"][2]}}</h6>
{% endif %}
<h6 class="type">{{m["kind"]}}</h6>
{% if m["rating"]%}
<h6 class="rating">
<img src="static/star.png" width="20" height="20"> {{m["rating"]}}</h6>
{% endif %}
{% if m["plot"] %}
<p class="plot">{{m["plot"][0].split("::")[0]}}</p>
{% endif %}
<span class="imdbRatingPlugin" data-user="ur128224583" data-style="p1">
<a href=https://www.imdb.com/title/tt{{m["movieID"]}}>
<img class="imdb" src="https://ia.media-imdb.com/images/G/01/imdb/plugins/rating/images/imdb_46x22.png"/>
</a>
</span>
<script> (function(d,s,id){var js,stags=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.src="https://ia.media-imdb.com/images/G/01/imdb/plugins/rating/js/rating.js";stags.parentNode.insertBefore(js,stags);})(document,"script","imdb-rating-api"); </script>
<a href="{{url_for('movies')}}" class="card-link">
<img class="home" src="static/favicon.png" width="33" height="33">
</a>
</div>
</div>
{% endfor %}
{% endblock %}
Комментарии:
1. это pypi.org/project/IMDb с каким пакетом вы имеете дело ?
2. я использовал этот pypi.org/project/IMDbPY/