174

GitHub - zbfzn/douyin-clear-php: 抖音去水印PHP版接口

 4 years ago
source link: https://github.com/zbfzn/douyin-clear-php
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

douyin-clear-php

抖音去水印PHP版接口

修复5.29无法解析的问题
源码已上传
19-06-04:接口变更(https://aweme.snssdk.com/aweme/v1/aweme/detail/)
19-06-05:新增长视频,userId、抖音id
19-06-13:提供几个可用API,在apis.txt里,源代码的api不能使用时换一个即可
19-06-25:3种接口失效自动切换(注:官方APP在某些时候也会出现不能解析出视频链接的情况,此情况下若你的APP能识别并解析分享链接,而接口解析不出来的话请反馈给我,接口抓取请参照https://github.com/zbfzn/douyin-clear-php/issues/5
19-07-10:优化代码结构,删除一些不必要的代码,取消curl,对旧数据格式保留
19-07-11:优化api获取流程,增加iid、device_id便捷管理,如遇接口失效,请自行查找对应参数替换txt内容
19-07-12:修正message与errorMes参数
19-07-14:douyin 综合版接口上线,不免费。详情查看 http://api.lyfzn.top/douyinApi/LimitAPi/douyinDoc.php
19-07-24:优化代码,增加680、251、140版本信息切换,新增参数:api_version
19-07-31:适配来自作者动态的分享短链接如: http://v.douyin.com/ABErWB/ ,感谢 5wcx 的反馈
19-08-14:抖音更新,大家可以用我之前的旧版本获取网页端无水印视频:https://github.com/zbfzn/douyin-clear-php/tree/05e53cca6862dff2ec49033675990930720b8ca4 (无水印链接是url_wm,此版本没有完整视频解析,如需使用完整视频请等待修复)

注意

本人的iid和device_id经常被封,导致断断续续不能使用
好心人也可以共享一下你的iid和device_id,参与维护项目。 站点:http://lyfzn.top/api/douyinApi/deviceUpdate/
参与维护的人员可以随时查看云端有效的iid和device_id
*转载请注明出处

使用方法:

环境:php(本人v7.2)
./parseByLink.php?url=视频分享地址&isFormat=1&old=0
(喜欢给个star呗┗( ▔, ▔ )┛)

文档:

请求方式:GET

请求参数:

url:http://v.douyin.com/jJub3C/http://v.douyin.com/jJub3C/ 复制此链接,打开【抖音短视频】,直接观看视频!或者 https://www.iesdouyin.com/share/video/6670812435382865166/?region=CN&mid=6609134742988131076&u_code=hgd1c58i&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme&iid=67144120646&timestamp=1554178524 都行。(地址前面不能带#号,服务器会忽略#后面的内容,建议在本地对URL做处理)
isFormat:是否格式化数据,0为不格式化,1为格式化。默认:格式化
old:是否使用旧版数据格式,0为不使用,1为格式化。默认:不使用

Response:JSON

请求成功:

{
    "status": true,
    "data": {
        "nickname": "翔翔大作战",
        "shortId": "11397472",
        "userId": 59618628613,
        "awemeId": "6690863055015775502",
        "headImage": "https://p3-dy.byteimg.com/aweme/720x720/552800247d0a9e145b74.jpeg",
        "image": "http://p3-dy.byteimg.com/large/238d400031b33bbc76f6b.jpeg",
        "dynamic_cover": "https://p1-dy.byteimg.com/obj/238500004db5ff26aea6a",
        "urls": [
            "http://v3-dy-y.bytecdn.cn/299e7df9631aabf06a62face0b166dd7/5d24d545/video/m/220c37bbfd63b114b48a33ec7fe99ff4cab116210f630000aa53aeba0895/?rc=amhpeWp0dW1lbTMzZGkzM0ApQHRAbzQ3ODozNjczNDY4MzM6PDNAKXUpQGczdSlAZjN2KUBmcHcxZnNoaGRmOzRAYmllaDQzbmRhXy0tNi0wc3MtbyNvIy42MjM1LS4tLTIyLS4tLi9pOmIvcCM6YS1xIzpgLW8jYmZoXitqdDojLy5e",
            "http://v6-dy.bytecdn.cn/016a468e9b01421a8a4c080a9c7b959d/5d24d545/video/m/220c37bbfd63b114b48a33ec7fe99ff4cab116210f630000aa53aeba0895/",
            "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f9a0000bjdbgjqr6q7gkvhfleeg&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1",
            "https://api.amemv.com/aweme/v1/play/?video_id=v0300f9a0000bjdbgjqr6q7gkvhfleeg&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"
        ],
        "long_video": [
            {
                "play_addr": {
                    "uri": "v0300f090000bjdbf7bjvclba8s62vq0",
                    "url_list": [
                        "http://v6-dy.bytecdn.cn/6a7f9b2894642c1e92d66f6bb3922dd0/5d24d655/video/m/220f78f17639c464b24900c30f7f77fbb6311620e43c000056cfc17f4827/?rc=M3k5O2VmbTplbTMzPGkzM0ApQHRAbzQ3ODozNjczNDY4MzM6PDNAKXUpQGczdSlAZjN2KUBmcHcxZnNoaGRmOzRAbi9wXmlzX2NhXy0tLS0wc3M1byNvIy42MjM1LS4tLTIyLS4tLi9pOmIwcCM6YS1xIzpgLW8jYmZoXitqdDojLy5e",
                        "http://v9-dy.bytecdn.cn/ef61fb7c4733f7df0f76ac2ff5183f92/5d24d655/video/m/220f78f17639c464b24900c30f7f77fbb6311620e43c000056cfc17f4827/",
                        "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=0&ratio=720p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1",
                        "https://api.amemv.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=1&ratio=720p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"
                    ],
                    "width": 720,
                    "height": 720,
                    "url_key": "v0300f090000bjdbf7bjvclba8s62vq0_h264_720p_1697129"
                },
                "is_h265": 0,
                "gear_name": "normal_720",
                "quality_type": 10,
                "bit_rate": 1697129
            },
            {
                "gear_name": "normal_540",
                "quality_type": 20,
                "bit_rate": 1503995,
                "play_addr": {
                    "uri": "v0300f090000bjdbf7bjvclba8s62vq0",
                    "url_list": [
                        "http://v6-dy.bytecdn.cn/04558f52f2ac82fa1411c10890aabd03/5d24d655/video/m/220477b41d319374f16ae3f3a60861490c911620dd33000097146d7159d2/?rc=M3k5O2VmbTplbTMzPGkzM0ApQHRAbzQ3ODozNjczNDY4MzM6PDNAKXUpQGczdSlAZjN2KUBmcHcxZnNoaGRmOzRAbi9wXmlzX2NhXy0tLS0wc3M1byNvIy42MjM1LS4tLTIyLS4tLi9pOmIwcCM6YS1xIzpgLW8jYmZoXitqdDojLy5e",
                        "http://v9-dy.bytecdn.cn/66b0fbf6db122a5e7f7e56c9fbb9cfaa/5d24d655/video/m/220477b41d319374f16ae3f3a60861490c911620dd33000097146d7159d2/",
                        "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1",
                        "https://api.amemv.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"
                    ],
                    "width": 720,
                    "height": 720,
                    "url_key": "v0300f090000bjdbf7bjvclba8s62vq0_h264_540p_1503995"
                },
                "is_h265": 0
            },
            {
                "bit_rate": 376426,
                "play_addr": {
                    "height": 720,
                    "url_key": "v0300f090000bjdbf7bjvclba8s62vq0_h264_360p_376426",
                    "uri": "v0300f090000bjdbf7bjvclba8s62vq0",
                    "url_list": [
                        "http://v6-dy.bytecdn.cn/fc869acfc2e2a5952a310a311029477c/5d24d655/video/m/22044ef5d82c05446f488d4e6e2bc399f1e116210b63000033af3f0b1ce9/?rc=M3k5O2VmbTplbTMzPGkzM0ApQHRAbzQ3ODozNjczNDY4MzM6PDNAKXUpQGczdSlAZjN2KUBmcHcxZnNoaGRmOzRAbi9wXmlzX2NhXy0tLS0wc3M1byNvIy42MjM1LS4tLTIyLS4tLi9pOmIucCM6YS1xIzpgLW8jYmZoXitqdDojLy5e",
                        "http://v9-dy.bytecdn.cn/9b2c55f65280961b3385282a01e4aeb2/5d24d655/video/m/22044ef5d82c05446f488d4e6e2bc399f1e116210b63000033af3f0b1ce9/",
                        "https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=0&ratio=360p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1",
                        "https://api.amemv.com/aweme/v1/play/?video_id=v0300f090000bjdbf7bjvclba8s62vq0&line=1&ratio=360p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"
                    ],
                    "width": 720
                },
                "is_h265": 0,
                "gear_name": "normal_360",
                "quality_type": 40
            }
        ],
        "music_urls": [
            "http://p3-dy.byteimg.com/obj/ies-music/1633496586048539.mp3"
        ],
        "info": {
            "share_signature_url": "https://tiktokv.com/",
            "share_url": "https://www.iesdouyin.com/share/video/6690863055015775502/?region=CN&mid=6690707475848809230&u_code=gj49fkd1&titleType=title",
            "bool_persist": 0,
            "share_title_myself": "",
            "share_title_other": "",
            "share_signature_desc": "TikTok: Make Every Second Count",
            "share_quote": "",
            "share_weibo_desc": "#在抖音,记录美好生活#高铁商务座和普通座到底什么区别,一节车厢竟只有5个座位,太爽#vlog美食记 #抖音玩乐攻略 ",
            "share_desc": "在抖音,记录美好生活",
            "share_title": "高铁商务座和普通座到底什么区别,一节车厢竟只有5个座位,太爽#vlog美食记 #抖音玩乐攻略 ",
            "share_link_desc": "#在抖音,记录美好生活#高铁商务座和普通座到底什么区别,一节车厢竟只有5个座位,太爽#vlog美食记 #抖音玩乐攻略  %s 复制此链接,打开【抖音短视频】,直接观看视频!"
        }
    },
    "dataType_new":true,
    "api_position": 0,
    "error_api":null,
    "api_version":"680"
}
      

请求失败:

{
    "status": false,
    "errorMes": "地址无效"
}
{
   "status": false,
   "errorMes": "抖音接口调用失败"
}
参数:
status:请求状态码true/false  
errorMes:错误信息(old=0时出错会有) 
message: old=1时出现,没有错误返回url参数,否则返回错误信息  
data:返回的数据都在这里面  
nickname:抖音昵称  
awemeId:视频资源Id
info:视频信息 
image:封面图片地址(静态)
headImage:用户头像地址  
urls:无水印地址  
music_urls:音乐原声地址 
dynamic_cover:动态封面图(19-06-05加)  
long_video:长视频(完整视频信息(19-06-05加)  
userId:作者userId(19-06-05加)  
shortId:作者抖音Id(19-06-05加)  
api_position:具体使用的api的下标(19-07-10加)  
dataType_new:当前数据格式是否为新格式(19-07-10加)  
error_api:用到的API中不能使用的索引值,对应TXT文件的顺序,没有错误返回null(19-07-11加)  
api_version:当前使用的api版本信息(680/251/140)

如有间歇性无法使用请先更换douyinDevice.txt的内容再试,都无法使用再提issue。

喜欢的话,给个star呗

衍生项目:

安卓版项目地址:https://github.com/zbfzn/douyinquick

注:仅供学习,切勿用于其他用途。
测试站点关闭,需要测试请前往:http://api.lyfzn.top/douyinApi/LimitAPi/douyinDoc.php 第三个接口;不提供免费解析服务。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK