2020-11-11抖音去水印解析获取源标题、作者、头像、封面图以及源视频地址
话不多说,上代码,两种方法,注意这是Java语言;
package com.video.parse.common.util;import cn.hutool.core.text.StrFormatter;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;import java.util.Optional;public class DouYinDecodeUtil {public static void main(String[] args) throws Exception {String url = "一切都是最好的安排,错过的人和事都是注定好的,你认同吗 https://v.douyin.com/JuTpVxv/ 复制此链接,打开抖音,直接观看视频!";DecodeVideo video = decode(url).orElseThrow(() -> new Exception("Parsing failed."));System.out.println(JSONUtil.toJsonPrettyStr(video));}public static Optional<DecodeVideo> decode(String url) {String locationUrl = Common.getLocationUrl(ReUtil.get(Common.RE_URLS, url, 0));String itemId = StrUtil.subAfter(StrUtil.subBefore(StrUtil.subBefore(locationUrl, "?", false), "/", true), "/", true);DecodeVideo video = null;String itemInfoUrl = StrFormatter.format("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}", itemId);String body = HttpUtil.get(itemInfoUrl);if (StrUtil.isNotEmpty(body)) {JSON json = JSONUtil.parse(body);String statusCode = JSONUtil.getByPath(json, "status_code").toString();if (StrUtil.equals(statusCode, "0")) {String author = JSONUtil.getByPath(json, "item_list[0].author.nickname").toString();String avatar = JSONUtil.getByPath(json, "item_list[0].author.avatar_medium.url_list[0]").toString();String desc = JSONUtil.getByPath(json, "item_list[0].desc").toString();String addr = JSONUtil.getByPath(json, "item_list[0].video.play_addr.url_list[0]").toString();String cover = JSONUtil.getByPath(json, "item_list[0].video.cover.url_list[0]").toString();String playAddr = Common.getLocationUrl(StrUtil.replace(addr, "playwm", "play"));video = DecodeVideo.builder().author(author).avatar(avatar).title(desc).playAddr(playAddr).coverPicture(cover).build();}}return Optional.ofNullable(video);}
}
实体类:
package com.video.parse.common.util;import lombok.Builder;
import lombok.Data;@Data
@Builder(toBuilder = true)
public class DecodeVideo {/*** 作者*/private String author;/*** 标题*/private String title;/*** 头像*/private String avatar;/*** 封面图*/private String coverPicture;/*** 播放地址*/private String playAddr;
}
通用工具:
package com.video.parse.common.util;import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;import java.util.HashMap;public class Common {public static final String RE_URLS = "(https://|http://)?([\\w-]+\\.)+[\\w-]+(:\\d+)*(/[\\w- ./?%&=]*)?";public static Document jsonpConnect(String url, Boolean isMobile) {Document doc = null;if (StrUtil.isNotEmpty(url)) {try {Connection connect = Jsoup.connect(ReUtil.get(Common.RE_URLS, url, 0));if (isMobile) {connect.headers(Common.getMobileHeaders());}doc = connect.timeout(5000).get();} catch (Exception e) {e.printStackTrace();}}return doc;}public static String getLocationUrl(String url) {HashMap headers = getMobileHeaders();HttpResponse execute = HttpUtil.createGet(url).addHeaders(headers).execute();String redirectUrl = execute.header("Location");return redirectUrl;}public static HashMap<String, String> getMobileHeaders() {HashMap headers = MapUtil.newHashMap();headers.put("User-Agent", "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Mobile Safari/537.36");return headers;}
}
2020-11-11抖音去水印解析获取源标题、作者、头像、封面图以及源视频地址相关推荐
- 抖音去水印解析网址入口_抖音去水印 视频去水印 小工具
去水印神速 去水印去水印短视频去水印小工具去水印解析去水印免费版去水印助手去水印软件去水印视频一键去水印快手去水印 随着短视频越来越火爆,玩抖音的人也越来越多.有人发就有人下载,有人下载就需要考虑水印 ...
- word无法打开请去应用商店_抖音去水印 | HTTP Catcher方法全解析
果仁部落 长按二维码关注 前言 最近快捷指令抖音去水印规则已经失效,导致很多小伙伴前来询问,有一些小伙伴也提供了方法,但是因种种原因不能采纳,非常抱歉,不过今天小编为大家分享更好用的去水印方法,可在正 ...
- iOS快捷指令最全整理(支持iOS14),抖音去水印捷径快手去水印捷径
收集整理一波iOS捷径库(使用方法见文末,支持iOS14),包括了大家最想要的抖音去水印捷径和快手去水印捷径.大家使用过程中如果发现有啥问题或者想实现什么快捷指令,关注微信公众号"云峰小罗& ...
- 一气之下,手撸了一个抖音去水印的工具!
百因必有果 说一下我为什么要做个抖音视频去水印工具,其实是因为我的沙雕女友,她居然刚我~ 有天晚上她在抖音看见一个非常具有 教育意义 的视频,"男人疼媳妇就该承包全部家务活",然后 ...
- 从0开发小程序,一个月时间实现盈利!内附抖音去水印原理
一.开发前奏 1.背景 近几年短视频行业的兴起,涌现出抖音快手等优秀的app,但是在app上发现优秀视频想要下载到本地时,又奈何总是全程有水印又末尾有平台独白,搜索众多app和小程序大部分要嘛广告众多 ...
- iOS12捷径(快捷指令),最新抖音去水印捷径,快手去水印捷径
之前整理过一波很全(100多个)的iOS快捷指令:iOS12捷径最全整理(100多个捷径汇总),包括抖音视频下载,地图导航等,但是发现读者用得最多的还是抖音无水印下载和快手无水印下载这两个捷径. 因为 ...
- 抖音直播间获取高清视频地址
抖音直播间获取高清视频地址 ```mermaid graph TD; A-->B; B-->C;
- 抖音抓包获取cookie
抓包获取抖音用户cookie 获取抖音cookie目前实践测试两种方式: 一:扫描抖音开放平台二维码,扫码后获取cookie 二:利用fiddler抓包工具对雷电模拟器进行抓包获取cookie ...
- 抖音最近很火的游戏直播:挤地铁教程+源码+软件下载
抖音最近很火的游戏直播:挤地铁教程+源码+软件 先上车先吃肉,卡好后带货,卖号,引私域,接星途广告,接小程序广告,带小游戏赚收益均可 源码下载:抖音最近很火的游戏直播:挤地铁教程+源码+软件下载-小程 ...
- 结合569个抖音+电商的成功案例,总结出新一套的短视频运营方案
抖音在抢占移动互联网流量的半壁江山后开始涉及电商邻域,而且势头迅猛,无法抵挡,包括今年与阿里的合作,可以说抖音在电商,流量变现的道路上顺风顺水.目前抖音的电商变现模式主要有以下几点 1. 前期注重内容 ...
最新文章
- 华为emui10是鸿蒙,昨日,华为EMUI10,鸿蒙系统正式发布!
- mysql master master_MySQL主从架构之Master-Master互为主备
- String(字符串) 比较大小 如果有A+BB+A 则AB
- Mac OS使用技巧之十六:系统失去响应怎么办?
- Android之6.0 权限申请封装
- APP应用下载站源码-带后台
- 关于jquery基本过滤器中:eq()无法传变量的问题
- 蓝天采集系统的安装和遇到的问题及解决方案
- js 中的 number 为何很怪异 1
- 计算机视觉测试数据集
- Mysql调试存储过程最简单的方法
- ext2、ext3与ext4的区别
- JavaWeb——什么是Session及Session的用法
- win7系统修复工具_Windows Repair Pro v4.4.60 系统修复工具
- elasticsearch学习笔记--聚合函数篇
- BP神经网络推导(两个隐藏层)
- 微信公众号12大互动技巧
- open judge 1.6.4
- Sqoop同步任务‘ can not be represented as java.sql.Date
- 处理射手网字幕,方便打印