utils.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import requests
  2. import os
  3. import json
  4. import traceback
  5. from log import Log
  6. from config import set_config
  7. log_ = Log()
  8. config_ = set_config()
  9. def request_post(request_url, headers, request_data):
  10. """
  11. post 请求 HTTP接口
  12. :param request_url: 接口URL
  13. :param headers: 请求头
  14. :param request_data: 请求参数
  15. :return: res_data json格式
  16. """
  17. try:
  18. response = requests.post(url=request_url, json=request_data, headers=headers)
  19. # print(response)
  20. if response.status_code == 200:
  21. res_data = json.loads(response.text)
  22. return res_data
  23. else:
  24. return None
  25. except Exception as e:
  26. log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
  27. return None
  28. def request_get(request_url, headers, params=None):
  29. """
  30. get 请求 HTTP接口
  31. :param request_url: 接口URL
  32. :param headers: 请求头
  33. :param params: 请求参数
  34. :return: res_data json格式
  35. """
  36. try:
  37. response = requests.get(url=request_url, headers=headers, params=params)
  38. if response.status_code == 200:
  39. res_data = json.loads(response.text)
  40. return res_data
  41. else:
  42. return None
  43. except Exception as e:
  44. log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
  45. return None
  46. def download_video(video_path, video_id, download_folder, ftype='mp4'):
  47. """下载视频"""
  48. if not os.path.exists(download_folder):
  49. os.makedirs(download_folder)
  50. filename = f"{download_folder}/{video_id}.{ftype}"
  51. # 视频已存在,则不重复下载
  52. if os.path.exists(filename):
  53. return filename
  54. response = requests.get(video_path, stream=True)
  55. if response.status_code == 200:
  56. with open(filename, "wb") as video_file:
  57. for chunk in response.iter_content(chunk_size=8192):
  58. video_file.write(chunk)
  59. return filename