public_sentiment/web/controller/html_parser_controller.py
2024-09-18 13:38:24 +08:00

39 lines
1.1 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from collections import namedtuple
from django.http import JsonResponse
from rest_framework.decorators import api_view
from twisted.protocols.amp import Box
from collector.spiders.collector_spider import CollectorSpider
from web.controller.base_controller import BaseController
from web.dto.api_result import ApiResult
from web.manager.gridgraph_manager import GridGraphManager
from web.manager.log_manager import LogManager
from web.util.dto_util import DtoUtil
from web.vo.parse_html_vo import ParseHtmlVo
Logger = LogManager.get_logger(__name__)
base_controller = BaseController()
@api_view(['POST'])
def parse_html(request):
"""
解析html
"""
Logger.info("开始解析html")
parse_html_vo = base_controller.to_vo(request, ParseHtmlVo)
service_result = base_controller.html_parser_handler.parse_html(parse_html_vo.url)
# grid_graph_manager = GridGraphManager()
# list = grid_graph_manager.query_vertex(label='person')
# base_controller.start_scrawl(CollectorSpider)
return JsonResponse(DtoUtil.service_result_to_api_result(service_result), safe=False)