Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

抖音似乎不能用了 #39

Closed
xisuo67 opened this issue Jul 2, 2024 · 12 comments
Closed

抖音似乎不能用了 #39

xisuo67 opened this issue Jul 2, 2024 · 12 comments

Comments

@xisuo67
Copy link

xisuo67 commented Jul 2, 2024

抖音似乎不能用了,刚把代码拉下来运行,试了几个链接都不行
image

抖音链接

8.23 复制打开抖音,看看【潇湘晨报的作品】山东青岛。男子下车后忘记拉手刹,钓完鱼回来发现车已... https://v.douyin.com/i6mWxaXW/ 12/08 Q@K.Wm JVl:/

@wujunwei928
Copy link
Owner

image
我这看没问题, 检查下自己网络, 打开浏览器开发者工具, 看下接口返回

@xisuo67
Copy link
Author

xisuo67 commented Jul 4, 2024

image
解析是没问题的,点击下载跳转地址403

@xisuo67
Copy link
Author

xisuo67 commented Jul 4, 2024

我仔细对比了一下接口返回数据,初步判断,应该是被转义以后导致连接访问问题,以下是我提供的排查过程

采集地址:4.69 b@a.At cNj:/ 04/06 # 纯欲天花板 # 美女热舞🔥 # 甜妹 # 清纯甜美 https://v.douyin.com/i6xDkwAp/ 复制此链接,打开Dou音搜索,直接观看视频!
image
以上是界面效果

  • 通过抓取接口返回结构如下:
    image

接口返回

{
    "code": 200,
    "msg": "解析成功",
    "data": {
        "author": {
            "uid": "MS4wLjABAAAAGSOtiMJdERRboevcTSLs7S-A5MAAElCODnBgTXJPtk84nmTLbMxya22T5FebQcnQ",
            "name": "甜甜的圈圈",
            "avatar": "https://p11.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-i-0813c001_o0NnpANADAgAIJegmvVA1YWbCCR9CbAGZEAkqe.jpeg?from=327834062"
        },
        "title": "#纯欲天花板 #美女热舞🔥 #甜妹 #清纯甜美",
        "video_url": "https://v26-cold.douyinvod.com/7f1473c9f25ed4fba369b7e317f48b94/668654a2/video/tos/cn/tos-cn-ve-15c001-alinc2/oYBDAqkP6iZBsAlQIziBwLf7Eo51gPkJAN81De/?a=1128\u0026ch=0\u0026cr=0\u0026dr=0\u0026cd=0%7C0%7C0%7C0\u0026cv=1\u0026br=1728\u0026bt=1728\u0026cs=0\u0026ds=3\u0026ft=rVQ6egwwZRnTseDo1PDS6kFgAX1tG-MM2f9eFGeoqqV12nzXT\u0026mime_type=video_mp4\u0026qs=0\u0026rc=ZzM7ZTY5NzRoaGRnMzo6ZUBpajdqNWo5cnRkczMzNGkzM0BeMWAwYGBjXmMxXl4yNi0uYSNxNGBqMmRzY3JgLS1kLWFzcw%3D%3D\u0026btag=80010e00088000\u0026cquery=100y\u0026dy_q=1720075915\u0026feature_id=f0150a16a324336cda5d6dd0b69ed299\u0026l=202407041451556FBCA0A12012B603A43A",
        "music_url": "",
        "cover_url": "https://p26-sign.douyinpic.com/tos-cn-i-0813/oogAuEYdmAAUHiy3ADCnEgegFA5INQf9OA9lDa~c5_300x400.webp?x-expires=1721282400\u0026x-signature=xTLaKpe%2FYeYHQGK7%2BbZ6Iq5E5vg%3D\u0026from=327834062_large\u0026s=PackSourceEnum_DOUYIN_REFLOW\u0026se=false\u0026sc=cover\u0026biz_tag=aweme_video\u0026l=20240704145155DE5C567B1A03B203B8D7",
        "images": []
    }
}

过程

通过返回数据。直接复制video_url对象,在浏览器可以访问,复制*cover_url对象链接,无法访问,和界面正好相反

从返回链接来看,有部分转移字符串,可能导致直接前端url,在赋值a标签的时候,导致转义错误,无法正确访问!作者可以试试这个链接

@xisuo67
Copy link
Author

xisuo67 commented Jul 4, 2024

补充一下

通过文件对比,界面上能正常访问的封面地址,和接口返回的cover_url地址,格式确实有所改变
image

希望能对作者有所帮助

@Aristokun
Copy link

image
你看 api返回的video_url 域名并不一致 你确定你的版本没有问题吗

@Aristokun
Copy link

我没用网页端 刚才发现403其实作者在温馨提示中标注了...

@xisuo67
Copy link
Author

xisuo67 commented Jul 4, 2024

我发现一个很奇怪的现象,直接点击链接跳转,没有问题,在a标签内,跳转,却会提示403
image

@Aristokun
Copy link

image

@Aristokun
Copy link

这个是服务器对请求来源进行了限制 在另一个issues里有解答 #38

@rucswax
Copy link

rucswax commented Jul 6, 2024

好像添加一个属性 referrerpolicy 就可以了
原:

successHtml += '<a class="mdui-btn mdui-btn-raised" href="'+jsonObj.data.cover_url+'" target="_blank" download="video">下载封面</a>';
// 如果video_url不为空, 则显示下载视频按钮
if(jsonObj.data.video_url != ""){
successHtml += '<a class="mdui-btn mdui-btn-raised" href="'+jsonObj.data.video_url+'" target="_blank" download="video">下载视频</a>';
}

改:

        successHtml += '<a class="mdui-btn mdui-btn-raised" href="'+jsonObj.data.cover_url+'" target="_blank" download="video" referrerpolicy="no-referrer" >下载封面</a>';

        // 如果video_url不为空, 则显示下载视频按钮
        if(jsonObj.data.video_url != ""){
            successHtml += '<a class="mdui-btn mdui-btn-raised" href="'+jsonObj.data.video_url+'" target="_blank" download="video" referrerpolicy="no-referrer" >下载视频</a>';
        }

@wujunwei928
Copy link
Owner

@rucswax 添加 属性 referrerpolicy 方法不错 👍, 已添加进代码

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants