Запустите scrapy, нажав кнопку
Я начал проект на django & scrapy. На главной странице я хочу, чтобы пользователь мог ввести модель автомобиля (я добавляю детали автомобиля к ссылке, чтобы выбрать подходящее объявление для скрапирования) и нажать кнопку, и процесс извлечения начнется и загрузит данные в django db.
Помогите мне, как я могу это сделать, возможно ли это? Как сделать эту кнопку? Спасибо
Я думаю, что для этого можно использовать CrawlerProcess. Документация по CrawlerProcess
Все, что вам нужно сделать, это запустить функцию python, нажав на кнопку. Я прилагаю простую функцию здесь, надеюсь, она поможет вам.
from scrapy.crawler import CrawlerProcess
from your_scraper_project.spiders.spider_file import spiderClass
# if your project name is carScraper and spider file is named car_spider and class is carSpider
# from carScraper.spiders.car_spider import carSpider
#
def run_car_scraper(car_model):
process = CrawlerProcess()
process.crawl(carSpider, first=car_model) # Assuming that you are passing the argumment of the car_model to scrape specific models
process.start() # This will start your spider
После того, как паук сохранит данные в вашей базе данных или откуда бы вы ни брали данные для отображения, вы можете получить данные и вернуть их из функции.
Если вы хотите сохранить данные, полученные с помощью scrapy crawler, в переменной, этот ответ может быть вам полезен. Как сохранить данные из scrapy crawler в переменную?