shipinhao_author.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import os
  2. import sys
  3. import time
  4. import requests
  5. import json
  6. sys.path.append(os.getcwd())
  7. from common import Oss, Common
  8. from common.pq_utility import PQ
  9. from common.url_manage import urlManage
  10. class shipinhaoVdieo():
  11. @classmethod
  12. def get_videoList(cls, vx_message, channel):
  13. try:
  14. data_link = vx_message[1]
  15. data_link = json.loads(data_link)
  16. nickname = data_link.get('nickname', '')
  17. title = data_link.get('title', '')
  18. Common.logger().info(f'渠道:{channel},用户名:{title}, 标题:{title}')
  19. if title == '':
  20. return "标题为空"
  21. video_url = ''
  22. for i in range(3):
  23. time.sleep(1)
  24. url = "http://61.48.133.26:30001/SearchContentFristPageMediaInfo"
  25. payload = json.dumps({
  26. "content": title,
  27. "show_detail": "1"
  28. })
  29. headers = {
  30. 'Content-Type': 'application/json'
  31. }
  32. response = requests.request("POST", url, headers=headers, data=payload)
  33. data_list = response.json()
  34. list = data_list.get('data', [])
  35. sub_boxes = list[0].get('subBoxes', [])
  36. for sub_boxe in sub_boxes:
  37. name_title = sub_boxe["items"][0].get('source',[])["title"]
  38. if name_title == nickname:
  39. video_url = sub_boxe["items"][0]['videoUrl']
  40. break
  41. if video_url == '':
  42. return "无法搜索到视频"
  43. # 随机生成视频oss_id
  44. video_id = urlManage.random_id()
  45. oss_object_key = Oss.video_url_upload_oss(video_url, video_id)
  46. Common.logger().info(f'上传OSS成功')
  47. oss_object_key.get("status")
  48. oss_object_key = oss_object_key.get("oss_object_key")
  49. Common.logger().info(f'准备发送站内参数:{oss_object_key},{title},{vx_message[3]}')
  50. piaoquantv = PQ.insert_piaoquantv(oss_object_key, title, vx_message[3])
  51. if piaoquantv == False:
  52. return "视频发送到站内失败"
  53. except Exception as e:
  54. Common.logger().info(f'报错信息:{e}')
  55. return f"处理报错,报错信息{e}"