吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4376|回复: 38
收起左侧

[易语言 原创] 各种某音去水印源码,PHP、Python、易语言......

  [复制链接]
花不开但要富贵 发表于 2020-9-25 17:54
本帖最后由 1047861073 于 2020-9-26 10:10 编辑


Python版

[Python] 纯文本查看 复制代码
import re

import requests, json

url = 'https://v.douyin.com/JB7VyAw/'
api = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='

header = {
    'user-agent': 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7'
}


def video_url():
    url = input("输入抖音链接:")
    bdurl = r"http?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
    url = re.findall(bdurl, url)

    text = requests.get(url[0], headers=header)

    ress = r'''(?<=share/video/).*(?=/)'''
    res = re.findall(ress, text.url)

    id_url = api + res[0]
    urls = requests.get(id_url,headers=header)


    videos = urls.json()['item_list'][0]['video']['play_addr']['url_list']

    wat = videos[0].replace('wm','')    # 去水印后地址
    print(wat)
    t = requests.get(wat,headers=header).content
    with open('就是刚刚的抖音.mp4','wb') as data_file:
        data_file.write(t)
        input('获取成功!按回车退出........')

    #print(t.text)

video_url()

PHP版
333.gif


[PHP] 纯文本查看 复制代码
public function getLink(Request $request){
    $url = I('url');
    $pattern = '{(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?}';
    preg_match($pattern,$url,$url);
    if ($url){
        $update['share_url'] = (string)$url[0];
    }else{
        $this->returnJson(0,'error',['code'=>0,'msg'=>'获取失败']);
    }
    $res = Db::name('log')->where('share_url',$update['share_url'])->find();
    $reqData['code'] = 1;
    $reqData['msg'] = '解析成功';
    if (!$res){
        $url = (string)$url[0];
        $pattern = '{(?<=\.).*(?=\.com)}';
        preg_match($pattern,$url,$type);
        $type = (string)$type[0];
        switch ($type){
            case 'douyin':
                $res = $this->douyin($url,'insert');
                break;
            case 'kuaishou':
                $res = $this->ks($url,'insert');
                break;
            default:
                $this->returnJson(0,'error',['code'=>0,'msg'=>'暂不支持该网站']);
                break;
        }
        $reqData['addr'] = $res['addr_url'];
        $reqData['title'] = $res['title'];
        $reqData['cover'] = $res['cover'];
        $reqData['is_url'] = $res['is_url'];
        $this->returnJson(1,'success',$reqData);
    }else{
        //查询是否超过一小时,超过则更新
        $over_time = time() - $res['create_time'];
        if ($over_time>3600){
            $url = (string)$url[0];
            $pattern = '{(?<=\.).*(?=\.com)}';
            preg_match($pattern,$url,$type);
            $type = (string)$type[0];
            if ($type=='douyin'){
                $res = $this->douyin($url,'update');
            }elseif ($type=='kuaishou'){
                $res = $this->ks($url,'update');
            }
            $reqData['addr'] = $res['addr_url'];
            $reqData['title'] = $res['title'];
            $reqData['cover'] = $res['cover'];
            $reqData['is_url'] = $res['is_url'];
            $this->returnJson(1,'success',$reqData);
        }else{
            $reqData['addr'] = $res['addr_url'];
            $reqData['cover'] = $res['cover'];
            $reqData['title'] = $res['title'];
            $reqData['is_url'] = $res['is_url'];
            $this->returnJson(1,'success',$reqData);
        }
 
    }
}
protected function douyin($url,$action = 'insert'){
    $update['share_url'] = $url;
    $url = get_headers($url,true);
    $url = $url['location'];
    $pattern = '{(?<=share\/video\/).*(?=\/)}';
    preg_match($pattern,$url,$video_id);
    $video_id = $video_id[0];
    $ql = QueryList::get('https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='.$video_id);
    $res = json_decode($ql->getHtml(),true);
    $url = $res['item_list'][0]['video']['play_addr']['url_list'][0];
    $update['title'] = $res['item_list'][0]['share_info']['share_title'];
    $update['cover'] = $res['item_list'][0]['music']['cover_large']['url_list'][0];
    $update['create_time'] = time();
    $url = str_replace('playwm','play',$url);
    $update['is_url'] = $url;
    $url = get_headers($url,true);
    $url = $url['location'];
    $update['addr_url'] = $url;
    if ($action=='insert'){
        $id = Db::name('log')->insertGetId($update);
        $res = Db::name('log')->where('id',$id)->find();
    }else{
        $res = Db::name('log')->where('share_url',$update['share_url'])->update($update);
        $res = Db::name('log')->where('share_url',$update['share_url'])->find();
    }
    return $res;
}

php版套用了@yanwu666 的模版,十分感谢
易语言版

gaollg2.GIF
使用了精易模块和精易皮肤模块。

土豪通道 : 下载地址.txt (103 Bytes, 下载次数: 38)
平民通道:链接: https://pan.baidu.com/s/1K8I4IyinOJvbqdNco4GVBA 提取码: zps2

觉得好的大哥给个评分吧
谢谢~~~

免费评分

参与人数 5吾爱币 +9 热心值 +5 收起 理由
xueying666 + 1 + 1 我很赞同!
261216 + 1 + 1 谢谢@Thanks!
深水夜藏 + 1 + 1 我很赞同!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
kernel2020 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

challengexun 发表于 2020-9-27 23:23
1047861073 发表于 2020-9-27 23:20
不是调用接口的,可以自己写一个接口

api = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='
这个不是接口吗,自己写接口应该用什么技术,求教一下大佬
qystudio 发表于 2020-10-12 20:13
challengexun 发表于 2020-9-27 23:23
api = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='
这个不是接口吗,自己写接口 ...

这是抖音的官方接口
自己写可以用PHP之类的写
15278066219 发表于 2020-9-25 17:58
猪头。 发表于 2020-9-25 18:19
这个就很强大了,膜拜
白晓生 发表于 2020-9-25 19:02
现在好质量的真是不太好搞了,感谢楼主分享试试
色色 发表于 2020-9-25 19:12
大佬  易语言可以写软吗
cndp333 发表于 2020-9-25 19:29
打不开,不是成品
Learning1 发表于 2020-9-25 19:48
厉害 很是实用
hackgsl 发表于 2020-9-25 19:54
这就过份了,是不是还得送到他们面前呀
逐雅斋 发表于 2020-9-25 20:10
这个很强!感谢分享!
yuuma 发表于 2020-9-25 20:36
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表