Я делаю API, который возвращает JsonResponse
как мой текст из скрапа.Когда я запускаю сценарии индивидуально, он работает отлично.Но когда я пытаюсь интегрировать сценарий scrapy в python django, я не получаю вывод.
Я хочу только вернуть ответ на запрос (в моем случае это POSTMAN
POST
запрос.
Вот код, который я пытаюсь
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
import scrapy
from scrapy.crawler import CrawlerProcess
@csrf_exempt
def some_view(request, username):
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'LOG_ENABLED': 'false'
})
process_test = process.crawl(QuotesSpider)
process.start()
return JsonResponse({'return': process_test})
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://quotes.toscrape.com/random',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
return response.css('.text::text').extract_first()
Я очень плохо знаком с Python и Django. Любая помощь будет очень признательна.