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版
[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 的模版,十分感谢
易语言版
使用了精易模块和精易皮肤模块。
土豪通道 :
下载地址.txt
(103 Bytes, 下载次数: 11)
平民通道:链接: https://pan.baidu.com/s/1K8I4IyinOJvbqdNco4GVBA 提取码: zps2
觉得好的大哥给个评分吧↓↓↓
谢谢~~~
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!603313839@qq.com
2. 请您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源
3. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
4. 不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
5. 不保证所有资源都完整可用,不排除存在BUG或残缺的可能,由于资源的特殊性,下载后不支持退款。
6. 站点所有资源仅供学习交流使用,切勿用于商业或者非法用途,与本站无关,一切后果请用户自负!