import requests import os import json import traceback from log import Log from config import set_config log_ = Log() config_ = set_config() def request_post(request_url, headers, request_data): """ post 请求 HTTP接口 :param request_url: 接口URL :param headers: 请求头 :param request_data: 请求参数 :return: res_data json格式 """ try: response = requests.post(url=request_url, json=request_data, headers=headers) # print(response) if response.status_code == 200: res_data = json.loads(response.text) return res_data else: return None except Exception as e: log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc())) return None def request_get(request_url, headers, params=None): """ get 请求 HTTP接口 :param request_url: 接口URL :param headers: 请求头 :param params: 请求参数 :return: res_data json格式 """ try: response = requests.get(url=request_url, headers=headers, params=params) if response.status_code == 200: res_data = json.loads(response.text) return res_data else: return None except Exception as e: log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc())) return None def download_video(video_path, video_id, download_folder, ftype='mp4'): """下载视频""" if not os.path.exists(download_folder): os.makedirs(download_folder) filename = f"{download_folder}/{video_id}.{ftype}" # 视频已存在,则不重复下载 if os.path.exists(filename): return filename response = requests.get(video_path, stream=True) if response.status_code == 200: with open(filename, "wb") as video_file: for chunk in response.iter_content(chunk_size=8192): video_file.write(chunk) return filename def asr_validity_discrimination(text): """判断asr识别的文本是否有效""" words = set(text) words_rate = len(words) / len(text) # print(len(words), words_rate) if words_rate < 0.1: return False return True