获取dy无水印视频
本帖最后由 若无zz 于 2022-4-7 16:32 编辑## 看到有人用py写了个[示例]( https://www.52pojie.cn/thread-1617734-1-1.html)
### 我在用Java写一个
```xml
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
```
```java
try {
// 这里填抖音分享链接
String res = HttpUtil.get("https://xxxxxxxxxxx");
List<String> split = StrUtil.split(res, "/video/");
String itemId = StrUtil.subBefore(split.get(1), "/", false);
String jsonInfoUrl = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=";
String jsonInfo = HttpUtil.get(jsonInfoUrl + itemId);
JSONObject obj = JSONUtil.parseObj(jsonInfo);
String playwmUrl = obj.getJSONArray("item_list")
.getJSONObject(0)
.getJSONObject("video")
.getJSONObject("play_addr")
.getJSONArray("url_list")
.getStr(0);
// 这个就是无水印视频url了
String playUrl = playwmUrl.replace("/playwm/", "/play/");
System.out.println(playUrl);
} catch (Exception e) {
e.printStackTrace();
}
``` 霍大爷来玩破解 发表于 2022-4-7 16:12
分享的代码也不完整啊。。
大哥 动动手... R可以换成别的..{:1_909:} Nemoris丶 发表于 2022-4-21 15:21
楼主你这个有个问题,
1.首先拿itemId,其实就是视频后缀的那一串,其实根本不用去请求拿。直接把你的地址 ...
你有没有发现从抖音分享出来的链接是https://v.douyin.com/FJ8n3Y3/ 这种格式
而不是 https://www.douyin.com/video/xxxxxxxx
你看到的 https://www.douyin.com/video/xxxxxxxx 是由https://v.douyin.com/xxxxx/ 重定向来的 感谢楼主分享! 分享的代码也不完整啊。。 hutoolYYDS 收藏试试~ 楼主你这个有个问题,
1.首先拿itemId,其实就是视频后缀的那一串,其实根本不用去请求拿。直接把你的地址拼接拿就行了
2.如果单纯http直接请求抖音视频页面的话,页面是用js加密的,根本拿不到你要的itemId
直接改成这样就行了:
String res = "https://www.douyin.com/video/xxxxxxxx";
List<String> split = StrUtil.split(res, "/video/");
String itemId =split.get(1); 到这一行就会报错
https://s1.ax1x.com/2022/04/23/LRxsp9.png phubing 发表于 2022-4-23 01:09
到这一行就会报错
这就是接口发生变化了,自己重新分析改一下
页:
[1]
2