【发布时间】:2023-01-03 02:12:57
【问题描述】:
我想在 Django 视图中使用 scrapy spider,我尝试使用 CrawlRunner 和 CrawlProcess 但是有问题,视图同步并且进一步的爬虫不直接返回响应
我尝试了几种方法:
# Core imports.
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
# Third-party imports.
from rest_framework.views import APIView
from rest_framework.response import Response
# Local imports.
from scrapy_project.spiders.google import GoogleSpider
class ForFunAPIView(APIView):
def get(self, *args, **kwargs):
process = CrawlerProcess(get_project_settings())
process.crawl(GoogleSpider)
process.start()
return Response('ok')
有没有什么解决方案可以处理这个问题并在不使用 DjangoItem 管道的情况下直接在其他脚本或项目中运行蜘蛛?
【问题讨论】:
标签: django django-rest-framework scrapy