背景
浏览短视频的时候,看到自己喜欢的视频,喜欢保存下来,但是会携带短视频的水印,于是开始思索怎么下载无水印的版本。通过分享的h5链接发现了无水印的版本也在响应中。
以皮皮虾为例
基本流程:
- 打开分享的h5链接
- 自动重定向一个新的页面
- 根据视频的id会去请求一个地址,并且返回json。视频下载地址就在这个json中
直接看代码(简单代码)
# 原理:
# 1. 根据分享的h5 链接 https://h5.pipix.com/s/JepPPqf/
# 2. 302重定向到某个地址,需要先获取location地址
import json
import os
from contextlib import closing
import requests
def download_pipixia(file_path, h5_url):
if not os.path.exists(file_path):
os.mkdir(file_path)
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
# link = 'https://h5.pipix.com/s/JepPPqf/'
url = requests.get(h5_url, headers=headers, allow_redi