123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- # -*- coding: utf-8 -*-
- # @Author: wangkun
- # @Time: 2022/8/23
- import ast
- import base64
- import json
- import os
- import subprocess
- import requests
- import urllib3
- from main.feishu import Feishu
- proxies = {'http:': None, 'https': None}
- class Demo:
- @classmethod
- def base64_decode(cls):
- s = 'aHR0cDovL3Y5LXhnLXdlYi1wYy5peGlndWEuY29tLzYzMDJhOWQzNzU1Njc3MWJhN2UyNDdkZGMwM2E0Y2QyLzYzNDI3ZGE5L3ZpZGVvL3Rvcy9jbi90b3MtY24tdmUtNGMwMDEtYWxpbmMyL2ZkNzIwZTc3MWI4NDRlZTZhZDA4MDM5ZmUyYTZiZTI5Lz9hPTE3NjgmY2g9MCZjcj0wJmRyPTAmZXI9MCZjZD0wJTdDMCU3QzAlN0MwJmN2PTEmYnI9NDU3NCZidD00NTc0JmNzPTAmZHM9NCZmdD1XZzNFbE5ONlZVNndKa01acThkekpMZU9ZWmxjem9qLmQyYkxRQWFCdGlabSZtaW1lX3R5cGU9dmlkZW9fbXA0JnFzPTAmcmM9T1RnemFXVTRPVGhrTmpRNGFHVTBhRUJwYW1Sa09UYzZaalpyWmpNek5EY3pNMEJnTFRVMk1pNWZYbDR4TUROaE1TMHlZU011WnpFemNqUXdjbkpnTFMxa0xTOXpjdyUzRCUzRCZsPTIwMjIxMDA5MTQ0ODA0MDEwMjEyMDc0MDgyMDc1QkFEOEU='
- base64_url = base64.b64decode(s).decode('utf8')
- print(base64_url)
- @classmethod
- def ffmpeg(cls):
- video_path = '../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/video1.mp4'
- audio_path = '../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/audio1.mp4'
- out_path = '../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/video.mp4'
- cmd = 'ffmpeg -i ' + video_path + ' -i ' + audio_path + ' -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 ' + out_path
- print(cmd)
- subprocess.call(cmd, shell=True)
- print(os.listdir('../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/'))
- for file in os.listdir('../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/'):
- # print(file.title())
- if file.split('.mp4')[0] == 'video1' or file.split('.mp4')[0] == 'audio1':
- os.remove('../videos/陕西第二支预告片,武则天乾陵,气势磅礴,夕阳下拍到神奇的一幕/' + file)
- @classmethod
- def sheet(cls, log_type):
- sheet = Feishu.get_values_batch(log_type, 'xigua', 'e075e9')
- print(sheet)
- @classmethod
- def get_video_info(cls, gid):
- url = 'https://www.ixigua.com/api/mixVideo/information?'
- headers = {
- "accept-encoding": "gzip, deflate, br",
- "accept-language": "zh-CN,zh-Hans;q=0.9",
- "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
- "AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15",
- "referer": "https://www.ixigua.com/7102614741050196520?logTag=0531c88ac04f38ab2c62",
- }
- params = {
- 'mixId': gid,
- 'msToken': 'IlG0wd0Pylyw9ghcYiB2YseUmTwrsrqqhXrbIcsSaTcLTJyVlbYJzk20zw3UO-CfrfC'
- 'NVVIOBNjIl7vfBoxnVUwO9ZyzAI3umSKsT5-pef_RRfQCJwmA',
- 'X-Bogus': 'DFSzswVupYTANCJOSBk0P53WxM-r',
- '_signature': '_02B4Z6wo0000119LvEwAAIDCuktNZ0y5wkdfS7jAALThuOR8D9yWNZ.EmWHKV0WSn6Px'
- 'fPsH9-BldyxVje0f49ryXgmn7Tzk-swEHNb15TiGqa6YF.cX0jW8Eds1TtJOIZyfc9s5emH7gdWN94',
- }
- cookies = {
- 'ixigua-a-s': '1',
- 'msToken': 'IlG0wd0Pylyw9ghcYiB2YseUmTwrsrqqhXrbIcsSaTcLTJyVlbYJzk20zw3UO-CfrfCNVVIOB'
- 'NjIl7vfBoxnVUwO9ZyzAI3umSKsT5-pef_RRfQCJwmA',
- 'ttwid': '1%7C_yXQeHWwLZgCsgHClOwTCdYSOt_MjdOkgnPIkpi-Sr8%7C1661241238%7Cf57d0c5ef3f1d7'
- '6e049fccdca1ac54887c34d1f8731c8e51a49780ff0ceab9f8',
- 'tt_scid': 'QZ4l8KXDG0YAEaMCSbADdcybdKbUfG4BC6S4OBv9lpRS5VyqYLX2bIR8CTeZeGHR9ee3',
- 'MONITOR_WEB_ID': '0a49204a-7af5-4e96-95f0-f4bafb7450ad',
- '__ac_nonce': '06304878000964fdad287',
- '__ac_signature': '_02B4Z6wo00f017Rcr3AAAIDCUVxeW1tOKEu0fKvAAI4cvoYzV-wBhq7B6D8k0no7lb'
- 'FlvYoinmtK6UXjRIYPXnahUlFTvmWVtb77jsMkKAXzAEsLE56m36RlvL7ky.M3Xn52r9t1IEb7IR3ke8',
- 'ttcid': 'e56fabf6e85d4adf9e4d91902496a0e882',
- '_tea_utm_cache_1300': 'undefined',
- 'support_avif': 'false',
- 'support_webp': 'false',
- 'xiguavideopcwebid': '7134967546256016900',
- 'xiguavideopcwebid.sig': 'xxRww5R1VEMJN_dQepHorEu_eAc',
- }
- urllib3.disable_warnings()
- response = requests.get(url=url, headers=headers, params=params, cookies=cookies, proxies=proxies, verify=False)
- if 'data' not in response.json() or response.json()['data'] == '':
- print(f'response: {response}')
- else:
- video_info = response.json()['data']['gidInformation']['packerData']['video']
- video_url = ''
- audio_url = ''
- video_width = ''
- video_height = ''
- # video_url
- if 'videoResource' not in video_info:
- video_url = 0
- audio_url = 0
- video_width = 0
- video_height = 0
- elif 'dash' in video_info['videoResource']:
- video_url = video_info['videoResource']['dash']['dynamic_video']['dynamic_video_list'][-1]['main_url']
- audio_url = video_info['videoResource']['dash']['dynamic_video']['dynamic_audio_list'][-1]['main_url']
- video_url = base64.b64decode(video_url).decode('utf8')
- audio_url = base64.b64decode(audio_url).decode('utf8')
- video_width = video_info['videoResource']['dash']['dynamic_video']['dynamic_video_list'][-1]['vwidth']
- video_height = video_info['videoResource']['dash']['dynamic_video']['dynamic_video_list'][-1]['vheight']
- elif 'normal' in video_info['videoResource']:
- video_list = video_info['videoResource']['normal']['video_list']
- if 'video_4' in video_list.keys():
- video_url = video_list['video_4']['main_url']
- audio_url = video_list['video_4']['main_url']
- video_url = base64.b64decode(video_url).decode('utf8')
- audio_url = base64.b64decode(audio_url).decode('utf8')
- video_width = video_list['video_4']['vwidth']
- video_height = video_list['video_4']['vheight']
- elif 'video_3' in video_list.keys():
- video_url = video_list['video_3']['main_url']
- audio_url = video_list['video_3']['main_url']
- video_url = base64.b64decode(video_url).decode('utf8')
- audio_url = base64.b64decode(audio_url).decode('utf8')
- video_width = video_list['video_3']['vwidth']
- video_height = video_list['video_3']['vheight']
- elif 'video_2' in video_list.keys():
- video_url = video_list['video_2']['main_url']
- audio_url = video_list['video_2']['main_url']
- video_url = base64.b64decode(video_url).decode('utf8')
- audio_url = base64.b64decode(audio_url).decode('utf8')
- video_width = video_list['video_2']['vwidth']
- video_height = video_list['video_2']['vheight']
- elif 'video_1' in video_list.keys():
- video_url = video_list['video_1']['main_url']
- audio_url = video_list['video_1']['main_url']
- video_url = base64.b64decode(video_url).decode('utf8')
- audio_url = base64.b64decode(audio_url).decode('utf8')
- video_width = video_list['video_1']['vwidth']
- video_height = video_list['video_1']['vheight']
- else:
- video_url = 0
- audio_url = 0
- video_width = 0
- video_height = 0
- print(f'video_url:{video_url}')
- print(f'audio_url:{audio_url}')
- print(f'video_width:{video_width}')
- print(f'video_height:{video_height}')
- if __name__ == '__main__':
- # Demo.base64_decode()
- # Demo.ffmpeg()
- Demo.sheet('xigua')
- # Demo.get_video_info('7133153239867851295')
- # Demo.get_signature()
- # Demo.get_logs()
- pass
|