若无zz 发表于 2022-4-7 15:38

获取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();
      }
```

若无zz 发表于 2022-4-7 16:28

霍大爷来玩破解 发表于 2022-4-7 16:12
分享的代码也不完整啊。。

大哥 动动手... R可以换成别的..{:1_909:}

若无zz 发表于 2022-4-21 17:45

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/ 重定向来的

yunfu 发表于 2022-4-7 15:45

感谢楼主分享!

霍大爷来玩破解 发表于 2022-4-7 16:12

分享的代码也不完整啊。。

无缺i 发表于 2022-4-7 16:26

hutoolYYDS

Nemoris丶 发表于 2022-4-7 19:49

收藏试试~

Nemoris丶 发表于 2022-4-21 15:21

楼主你这个有个问题,
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);

phubing 发表于 2022-4-23 01:09

到这一行就会报错
https://s1.ax1x.com/2022/04/23/LRxsp9.png

若无zz 发表于 2022-4-23 14:47

phubing 发表于 2022-4-23 01:09
到这一行就会报错

这就是接口发生变化了,自己重新分析改一下
页: [1] 2
查看完整版本: 获取dy无水印视频