各种某音去水印源码,PHP、Python、易语言......
本帖最后由 1047861073 于 2020-9-26 10:10 编辑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?://(?:||[$-_@.&+]|[!*\(\),]|(?:%))+"
url = re.findall(bdurl, url)
text = requests.get(url, headers=header)
ress = r'''(?<=share/video/).*(?=/)'''
res = re.findall(ress, text.url)
id_url = api + res
urls = requests.get(id_url,headers=header)
videos = urls.json()['item_list']['video']['play_addr']['url_list']
wat = videos.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版
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;
}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;
$pattern = '{(?<=\.).*(?=\.com)}';
preg_match($pattern,$url,$type);
$type = (string)$type;
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;
$pattern = '{(?<=\.).*(?=\.com)}';
preg_match($pattern,$url,$type);
$type = (string)$type;
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;
$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']['video']['play_addr']['url_list'];
$update['title'] = $res['item_list']['share_info']['share_title'];
$update['cover'] = $res['item_list']['music']['cover_large']['url_list'];
$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 的模版,十分感谢易语言版
使用了精易模块和精易皮肤模块。
土豪通道 :
平民通道:链接: https://pan.baidu.com/s/1K8I4IyinOJvbqdNco4GVBA 提取码: zps2
觉得好的大哥给个评分吧↓↓↓
谢谢~~~ 1047861073 发表于 2020-9-27 23:20
不是调用接口的,可以自己写一个接口
api = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='
这个不是接口吗,自己写接口应该用什么技术,求教一下大佬{:1_918:} challengexun 发表于 2020-9-27 23:23
api = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids='
这个不是接口吗,自己写接口 ...
这是抖音的官方接口
自己写可以用PHP之类的写 支支持 虽然看不懂{:301_997:} 这个就很强大了,膜拜 现在好质量的真是不太好搞了,感谢楼主分享试试 大佬易语言可以写软吗 打不开,不是成品 厉害 很是实用 这就过份了,是不是还得送到他们面前呀 这个很强!感谢分享! 感谢分享