视频去水印 部分源码(包含部分php与go)有需要可以联系我

前段时间写了一个视频去水印的页面,没想到半年过去了,他居然失效了,看来大家都有在进步,只是我倒退了,不过没关系,我又来了

直接扣页面,可能适合py同学,基于浏览器么,啥都有了

我们今天说的是的php和go怎们解析

解析分享数据里的地址

首先我们获取到分享的数据,我们需要解析出里面的url,那么解析是通用的,我们就交给前端处理吧

bash 复制代码
str = "5.10 12/13 h@O.Xm EHi:/  哈哈这也太快乐了吧! # 瑶一瑶小肉包  https://v.xxx.com/id5M9Vm1/ 复制此链接,打开Dou音搜索,直接观看视频!"

    const reg = /((?:https?:\/\/)?[\w/\-?=%.]+\.(?:douyin|tiktok|kuaishou)\.com\S+)/i;
    const matches = str.match(reg);
    if (matches) {
        const url = matches[1];
        console.log(url)
        // 处理匹配到的 url
    }

前端拿到处理好,再给我们后端

获取302地址

分享出来的是一个短连接,我们需要做一些处理,使他变成长链,这里长链有两种一种是pc打开的,一种是手机的

我们使用的就是手机打开的

电脑打开的不是不能用,是因为他的参数太多了,你需要获取到各个参数,拼接等等,不适合来搞事情

我放下代码,大家看看

bash 复制代码
func getLocation(baseHost string) string {
	client := &http.Client{
		CheckRedirect: func(req *http.Request, via []*http.Request) error {
			return http.ErrUseLastResponse
		},
	}
	res, err := client.Get(baseHost)
	if err != nil {
		return baseHost
	}
	if res.StatusCode != 301 {
		return res.Header.Get("Location")
	}

	return res.Header.Get("Location")

}

再放个php的

bash 复制代码
function restoreUrl($shortUrl)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $shortUrl);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; Android 10; EML-AL00 Build/HUAWEIEML-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/5800 MicroMessenger/7.0.10.1580(0x27000AFC) Process/tools NetType/4G Language/zh_CN ABI/arm64");
    curl_setopt($curl, CURLOPT_HEADER, true);
    curl_setopt($curl, CURLOPT_NOBODY, false);
    curl_setopt($curl, CURLOPT_TIMEOUT, 15);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
    $data = curl_exec($curl);
    $curlInfo = curl_getinfo($curl);
    curl_close($curl);
    if ($curlInfo['http_code'] == 301 || $curlInfo['http_code'] == 302) {
        return $curlInfo['redirect_url'];
    }
    return '';
}
$url = restoreUrl("https://v.douyin.com/id5M9Vm1/");

echo $url;

这个时候你就可以找那个api替换参数获取视频了

相关推荐
花酒锄作田20 小时前
Go - Zerolog使用入门
golang
ServBay2 天前
告别面条代码,PSL 5.0 重构 PHP 性能与安全天花板
后端·php
JaguarJack5 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo5 天前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack6 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo6 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack6 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay7 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954487 天前
CTF 伪协议
php
BingoGo10 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php