отображение результатов поиска в приложении занимает слишком много времени

#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/