抖音无水印解析源码分享及原理浅谈

2025-03-05

抖音解析做了很久了,近段时间,抖音官方经常改算法。。。

最初是抓取的抖音网页端数据,只是这欠 R 的抖音在网页端搞了人机验证抖音无水印解析源码分享及原理浅谈 图1,抓不到数据了。

后面又尝试抓取抖音网页的请求元数据,找到了那个包含元数据的 JS 文件,只是有一个请求所需的参数没找到。无奈放弃,有空再研究。。。

那就只能抓移动端了,虽然包含的内容少,清晰度也没网页的高抖音无水印解析源码分享及原理浅谈 图2,但是好在还能用(没准哪天也来个验证啥的抖音无水印解析源码分享及原理浅谈 图3),那就凑合用吧。抖音无水印解析源码分享及原理浅谈 图4

源码特点:无需 cookie,原生 php 支持,无需安装任何 php 扩展(包括 cURL)抖音无水印解析源码分享及原理浅谈 图5

请求方式为:POST(个人喜欢用 POST,至于为什么,经常做小程序 API 开发的应该都懂抖音无水印解析源码分享及原理浅谈 图6)

请求参数为:[url : 抖音分享链接]

输出格式为:JSON

完整源码如下:(源码已做注释,请自行理解源码思路,我懒得写

[
‘method’ => ‘GET’,
‘header’ => $headers,
]
]);
$response = file_get_contents($adder, false, $context);
preg_match(‘/_ROUTER_DATA\s*=\s*(\{.*?\});/’, $response, $matches);
$data = $matches[1];
// 解析JSON数据
$jsonData = json_decode($data, true);
// 筛选信息
$itemList = $jsonData[‘loaderData’][‘video_(id)/page’][‘videoInfoRes’][‘item_list’][0];
$nickname = $itemList[‘author’];
$video = $itemList[‘video’][‘play_addr’][‘uri’];
$images = $itemList[‘images’] ?? null;
// 构造输出
$outData = [
‘code’ => empty($nickname) ? 0 : 1,
‘msg’ => empty($nickname) ? ‘解析失败!’ : ‘解析成功!️’,
‘name’ => $nickname[‘nickname’],
‘title’ => $itemList[‘desc’],
‘aweme_id’ => $itemList[‘aweme_id’],
‘video’ => $video !== null ? (strpos($video, ‘mp3’) === false ? ‘https://www.douyin.com/aweme/v1/play/?video_id=’ . $video : $video) : null,
‘cover’ => $itemList[‘video’][‘cover’][‘url_list’][0],
‘images’ => array_map(function ($image) {
return $image[‘url_list’];
}, is_array($images) ? $images : []),
‘type’ => empty($images) ? ‘视频’ : ‘图集’
];
// 输出
echo json_encode($outData);
// 重定向方法
function get_redirected_url($url)
{
// 赋予全局变量
global $headers, $uavalue;
// 环境配置
ini_set(“user_agent”, $uavalue);
$context = stream_context_create([
‘http’ => [
‘method’ => ‘GET’,
// 启用重定向
‘follow_location’ => 1,
// 最大重定向次数
‘max_redirects’ => 5,
‘header’ => $headers,
],
]);
$response = file_get_contents($url, false, $context);
foreach ($http_response_header as $header) {
if (strpos($header, ‘Location:’) === 0) {
return trim(substr($header, 9));
}
}
return $url;
}

PS:稳定版接口已下线,并且后期不在提供稳定接口,此接口仅供测试,看心情维护,不保证稳定性。

如果有更好的实现思路或方法,欢迎大神前来交流!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明 1、本站所发布的全部内容源于互联网搬运(包括源代码、软件、学习资料等),本站提供的一切源码、软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。您必须在下载后的23个小时之内,从您的电脑或手机中彻底删除上述内容。
2、访问本站的用户必须明白,本站信息来自网络收集整理,版权争议与本站无关,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!敬请谅解! 侵删请致信E-mail:messi0808@qq.com
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为www.xmy7.com
4、如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

小蚂蚁资源网 技术文章 抖音无水印解析源码分享及原理浅谈 https://www.xmy7.com/zh/jishu/78391.html

相关文章