0


黑丝,白丝,全都要。某站的视频爬取加合成

还是很久之前写的爬虫,爬取某站的视频,因为某站的视频和音频是分开的,所以最后还需要合成在一起。

某站的舞蹈区大家都知道有很多的黑丝、白丝。嗯。。。都懂的,所以,下载下来被窝里偷偷看。

详细解释都在注释区

大家爬取的时候要注意延时一段时间,某站的访问量是很大。太快爬取会被封的。

import requests
from fake_useragent import UserAgent
import jsonpath
import re
import os
import time

# 请求头
headers ={"User-Agent": UserAgent().random,"referer":"你自己的refer"}# 创建存放视频的文件夹ifnot os.path.exists("创建的文件夹名"):
    os.mkdir("创建的文件夹名")# 更改文件路径
os.chdir(r"你想要存放的路径")# # 视频列表页urlfor i inrange(1,3):# 因审核的原因,接口不能放出来,大家可以自行找找接口,加上即可食用# 获取up主的视频列表接口。mid=后面的一串数字更改为其他up主的,即可爬取其他up主的视频列表页
    url ="up主的视频列表接口"
    time.sleep(0.5)
    response = requests.get(url, headers=headers).json()# 解析网页
    bvid = jsonpath.jsonpath(response,"$..bvid")# 拼接网址
    link ="某站的网址后加上 /video/ 即可"
    detail_url =[link + i for i in bvid]# 循环下载for url_link in detail_url:
        time.sleep(0.3)
        res = requests.get(url_link, headers=headers).text
        # 提取视频名
        title = re.findall(r'class="video-title tit">(.*?)</h1>', res)
        title =[re.sub("/","", i)for i in title]# 提示视频str= re.findall('<script>window.__playinfo__=(.*?)</script>', res)[0]
        vid = re.findall(r'"video":\[{"id":\d+,"baseUrl":"(.*?)"',str)# 提取音频
        aud = re.findall(r'"audio":\[{"id":\d+,"baseUrl":"(.*?)"',str)# 下载视频音频for n, v, a inzip(title, vid, aud):
            vid_res = requests.get(url=v, headers=headers).content
            aud_res = requests.get(url=a, headers=headers).content
            print("Downloading", n)withopen(f'{n}.mp4',"wb")as f:
                f.write(vid_res)withopen(f'{n}.mp3',"wb")as f:
                f.write(aud_res)# 因为该站是将音频和视频分开的,所以需要将下载视频音频进行合成为一个完成的视频。
            os.system(f'ffmpeg.exe -i {n}.mp4 -i {n}.mp3 -c copy {n +" new"}.mp4')
标签: 音视频 ffmpeg python

本文转载自: https://blog.csdn.net/qq_46292926/article/details/127788071
版权归原作者 warm... 所有, 如有侵权,请联系我们删除。

“黑丝,白丝,全都要。某站的视频爬取加合成”的评论:

还没有评论