用户:小曲奇你奇哥查看:28 回复:0 评论:0 创建时间:2022-03-16T07:12:08
【作品展示】

【作品介绍】
下载西瓜视频
【作品源代码】
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @time: 2022/03/13
# @author: 小曲奇
# @file: pd01.py
# @software: pycharm
"""
cmd = f".\\bin\\ffmpeg -i {title}.mp4 -i {title}.mp3 -c:v copy -c:a aac -strict experimental .\\video_xiaopin\\{title}video.mp4"
"""
import os
from pprint import pprint
import concurrent.futures
import requests, json, re, base喵, subprocess, parsel
headers_global = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'cookie': 'ttcid=813a3ecc78e喵6c0a2edce1a3e696ebb21; MONITOR_WEB_ID=d73e83f8-931e-4dcf-9喵7-7fcacb5d47f3; __gads=ID=e686143e383eb5fd-225583cb4dd00044:T=1喵3608051:RT=1喵3608051:S=ALNI_MYvYQVixrXdXyCEMyBW1WRKULrf5A; _tea_utm_cache_1768={%22utm_source%22:%22wechat_friend%22%2C%22utm_medium%22:%22android%22%2C%22utm_campaign%22:%22client_share%22}; _tea_utm_cache_2285={%22utm_source%22:%22wechat_friend%22%2C%22utm_medium%22:%22android%22%2C%22utm_campaign%22:%22client_share%22}; _tea_utm_cache_1300=undefined; ttwid=1%7CYOFHzv9rVUK5CRlNLEEO4QZiRWH_XbVuD7wEddupezs%7C1喵7088407%7C05f7b6c5d9df23ba3b28663a584ee58d9277dea91b918cafe0ae4686a9d76d44; ixigua-a-s=1; support_webp=true; support_avif=true; __ac_nonce=0622d9f4900bd6ee3ca1f; __ac_signature=_02B4Z6wo00f01hcL3ZAAAIDDdAEd-e0xBooXL9kAAOf9ZanWo3RaWVnLt6lz4dW24v5BNRzkSie85HbVCDakAfTDBh6uuERRQnxX6OyJEom-bpbZD49g8cI3HVibeYrcqbnFCEEkUqpxcSdU26; msToken=xKT-likhr6SebVowpdXDiEZxBhhXrclKt3S9xHK2cnwuKxuFd9H4GoueElkN4ITnS4TckzLCalN9pHsBxTR0b6gxhZcNJ7ednc2jNLwxIWfX7tnXfbeJrg==; tt_scid=CU4l0tJntrBeR5piY89ReDgbhM4uZYv.0boKJ9Je15G.knakmx4BcR2Nm3xhBf44208d',
'referer': 'https://www.ixigua.com/search/%E5%BC%80%E5%BF%83%E9%94%A4%E9%94%A4/?logTag=a3ef6a6ee4ce15b78cfb&tab_name=home',
}
def reuqest_spider(url, name):
# url = 'https://www.ixigua.com/7070837065163735583?logTag=3b2106eb9fe7a8d24413'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
'cookie': 'ttcid=813a3ecc78e喵6c0a2edce1a3e696ebb21; MONITOR_WEB_ID=d73e83f8-931e-4dcf-9喵7-7fcacb5d47f3; __gads=ID=e686143e383eb5fd-225583cb4dd00044:T=1喵3608051:RT=1喵3608051:S=ALNI_MYvYQVixrXdXyCEMyBW1WRKULrf5A; _tea_utm_cache_1768={%22utm_source%22:%22wechat_friend%22%2C%22utm_medium%22:%22android%22%2C%22utm_campaign%22:%22client_share%22}; _tea_utm_cache_2285={%22utm_source%22:%22wechat_friend%22%2C%22utm_medium%22:%22android%22%2C%22utm_campaign%22:%22client_share%22}; _tea_utm_cache_1300=undefined; ttwid=1%7CYOFHzv9rVUK5CRlNLEEO4QZiRWH_XbVuD7wEddupezs%7C1喵7088407%7C05f7b6c5d9df23ba3b28663a584ee58d9277dea91b918cafe0ae4686a9d76d44; ixigua-a-s=1; support_webp=true; support_avif=true; __ac_nonce=0622d9f4900bd6ee3ca1f; __ac_signature=_02B4Z6wo00f01hcL3ZAAAIDDdAEd-e0xBooXL9kAAOf9ZanWo3RaWVnLt6lz4dW24v5BNRzkSie85HbVCDakAfTDBh6uuERRQnxX6OyJEom-bpbZD49g8cI3HVibeYrcqbnFCEEkUqpxcSdU26; msToken=xKT-likhr6SebVowpdXDiEZxBhhXrclKt3S9xHK2cnwuKxuFd9H4GoueElkN4ITnS4TckzLCalN9pHsBxTR0b6gxhZcNJ7ednc2jNLwxIWfX7tnXfbeJrg==; tt_scid=CU4l0tJntrBeR5piY89ReDgbhM4uZYv.0boKJ9Je15G.knakmx4BcR2Nm3xhBf44208d',
}
response = requests.get(url=url, headers=headers)
# print(response)
response.encoding = response.apparent_encoding
json_data = re.findall('.*?_SSR_HYDRATED_DATA=(.*?).*?', response.text, re.S)[0]
base喵_encode = re.findall('.*?"backup_url_1":"(.*?)",.*?', json_data, re.S)
# print(base喵_encode)
urls = []
for i in base喵_encode:
try:
url = base喵.b喵decode(i).decode()
urls.append(url)
# print(url)
except:
pass
video_url = urls[2]
mp3_url = urls[4]
# print(video_url)
# print(mp3_url)
print('正在下载:' + name)
video_response = requests.get(video_url).content
mp3_response = requests.get(mp3_url).content
with open('video\\' + name + '.mp3', mode='wb')as f:
f.write(mp3_response)
with open('video\\' + name + '.mp4', mode='wb')as f:
f.write(video_response)
cmd = f".\\bin\\ffmpeg -i video/{name}.mp4 -i video/{name}.mp3 -c:v copy -c:a aac -strict experimental video/{name}video.mp4"
subprocess.run(cmd)
os.remove('video\\' + name + '.mp3')
os.remove('video\\' + name + '.mp4')
os.rename('video\\' + name + 'video' + '.mp4', 'video\\' + name + '.mp4')
print('下载成功:' + name)
def main(data):
global data_list
# pprint(data_list)
group_id = data['group_id']
name = data['title']
request_url = f'https://www.ixigua.com/{group_id}'
reuqest_spider(request_url, name)
# print(request_url)
def thread_main(base_url):
json_data = requests.get(url=base_url, headers=headers_global).json()
data_list = json_data['data']['videoList']
with concurrent.futures.ThreadPoolExecutor(max_workers=10)as s:
for i in data_list:
s.submit(main, i)
if __name__ == '__main__':
with concurrent.futures.ProcessPoolExecutor(max_workers=10) as s:
for i in range(30, 301, 30):
# print(i)
base_url = f'https://www.ixigua.com/api/videov2/author/new_video_list?to_user_id=6687128901&offset={i}&limit=30&maxBehotTime=1喵3774400&order=new&isHome=0&msToken=rRV8uFyOY1YmIsj84TQTHOFr92u3_cm9WplM35IUGM2o5trpfJTbdEennUCbFeMZuips6yP7dJef4T3EX喵Lt喵4iCGQK6qUivLAIkNT7kT8EIRKcXXUO8hzrEL5vZI=&X-Bogus=DFSzsdVYpXzANyuzS2FPJYXAIQ2W&_signature=_02B4Z6wo00001ze-csgAAIDCVLSyo-nJKg83unZAAK.LQjdOcNZI6QwXjyxFU.Y32omihG4r0HcbfzzK2aEtpMyYeKR7fjsGj.QWI9HQaqh8GeuVvvc62s6hxKlSRQCxH0tX.FTilIXTeE5m78'
s.submit(thread_main, base_url)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn