Добавьте загрузку страницы во время процесса скраппирования
Я создал представление с помощью django, которое отображает поисковую систему для ввода названия продукта, который нужно соскрести, и запускает процесс соскребания. Также я создал представление в виде загрузочной страницы, которая должна отображаться, когда я начинаю скраппинг и исчезать, когда скраппинг заканчивается и отображать таблицу данных, как указано в моем коде.
Вот мой view.py :
def home_view(request):
context = {}
context ['form'] = Scraping()
# if user inserted into form and validated the form
if request.method =='POST':
form= Scraping(request.POST)
if form.is_valid():
# get variable (nom product)
subject = form.cleaned_data['subject']
# remove space and replace it with a + sign
sbjt = subject.replace(" ","+")
# call scrapy command line with this variable
os.chdir('C:/Users/aicha/Desktop/new_version/django_project/aliScrap/scraper/codes/aliscraper/')
os.system("scrapy crawl aliproduct -a product=" + sbjt)
# get results from database
client = MongoClient("mongodb://localhost:27017/")
db = client["aliexpress"]
col = db["listproducts"]
products = col.find()
context = {'products' : products}
return render(request,'datatable.html', context)
# default page
return render(request,'index.html', context)
Просмотр загрузки страницы :
def loading_view(request):
return render(request,'loading.html')
Зная, что я уже подготовил html моей загрузочной страницы. Проблема в том, что я не знаю, как интегрировать мою загрузочную страницу после запуска скраппинга. Она должна появиться после выполнения этой строки кода :
os.system("scrapy crawl aliproduct -a product=" + sbjt)
и исчезнет перед этой строкой кода :
return render(request,'datatable.html', context)
Я буду очень благодарен, если вы поможете мне решить эту проблему, потому что я довольно новичок в использовании django. Заранее спасибо!