Мне нужна помощь в переборе ввода в написанное мной веб-приложение, которое выглядит так:

Пользователи будут вводить несколько сотен ( или тысячи) URL-адресов, вставленных из документов Excel, каждая в новой строке, как эта. До сих пор, как вы можете видеть, я создал страницу ввода, страницу вывода и написал код для запроса к базе данных.
from flask import Flask,render_template, request
from flask_sqlalchemy import SQLAlchemy
from urllib.parse import urlparse
from sqlalchemy.ext.declarative import declarative_base
app = Flask(__name__)
app.config["DEBUG"] = True
app.config["SECRET_KEY"] = "secret_key_here"
db = SQLAlchemy(app)
SQLALCHEMY_DATABASE_URI = db.create_engine(connector_string_here))
app.config[SQLALCHEMY_DATABASE_URI] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.Model = declarative_base()
class Scrapers(db.Model):
__tablename__ = "Scrapers"
id = db.Column(db.Integer, primary_key = True)
scraper_dom = db.Column(db.String(255))
scraper_id = db.Column(db.String(128))
db.Model.metadata.create_all(SQLALCHEMY_DATABASE_URI)
Session = db.sessionmaker()
Session.configure(bind=SQLALCHEMY_DATABASE_URI)
session = Session()
scrapers = session.query(Scrapers.scraper_dom, Scrapers.scraper_id).all()
@app.route("/", methods=["GET","POST"])
def index():
if request.method == "Get":
return render_template("url_page.html")
else:
return render_template("url_page.html")
@app.route("/submit", methods=["GET","POST"])
def submit():
sites = [request.form["urls"]]
for site in sites:
que = urlparse(site).netloc
return render_template("submit.html", que=que)
#scrapers.filter(Scrapers.scraper_dom.in_(
#next(x.scraper_id for x in scrapers if x.matches(self.fnetloc))
Как очевидно, это неполно. Я пропустил предыдущие попытки сопоставления ввода, так как понял, что у меня есть проблемы с итерацией ввода. Сначала я мог заставить его печатать только все входные данные, а не перебирать их. И теперь он печатается так:

Что просто повторяет urlparse(site).netloc
для первой строки ввода, какое-то случайное число раз. Он правильно анализирует и возвращает фактическое значение, которое мне нужно будет использовать позже (для каждого urlparse(site).netloc
соответствует scraper_dom и возвращается связанный scraper_id). Теперь, однако, я пытался использовать input()
, но продолжал получать ошибки, когда [request.form["urls"]]
не являлся повторяемым.
Пожалуйста, помогите, это будет высоко ценится.
Вывод сайтов : 
Новый вывод с:
que = [urlparse(site).netloc for site in request.form["urls"].split('\n')]
