猫史档案馆


【Python作品分享】pd01【作品秀】

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


【作品展示】

center_image

 

【作品介绍】

下载西瓜视频

 

【作品源代码】

#!/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


回复

上一页第 1 页 / 共 0 页下一页