没有调用第三方接口,纯Java代码完成

使用IDEA编辑器直接打开Douyin文件夹,文件夹已打包上传到网盘

Tools.java

package com.lhr;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

public class Tools{

private String cookies="odin_tt=9a16fa42e650a96379a5901a3d146c7c244dc0c35971927f6e13c208fc4bcf9cc952542516f78dc9098ac4d179f3b127cddfdff2942d259dda9ca33de8ae7677; install_id=43619087057; ttreq=1$4c4b4cc4b31e6f2f4203b62a1df12b43e224434c; qh[360]=1";

public Tools(){

}

/**

*

* 这里获取作品ID

* */

public String getId (String url){

String result=sendGet(url);

result=getSubString(result,"/share/video/","/?");

return result;

}

/**

* 解析真实地址返回的数据其实是json格式的,Java语言本身不支持json解析,需要借助第三方jar

*

* 这里就直接使用getsubstring

*

* */

public String getUrl (String url){

String result=sendGet(url);

result=getSubString(result,"play_addr_lowbr","width");

result=getSubString(result,"url_list\":[\"","\",\"");

return result;

}

/**

* 取出中间文本

*

* */

private String getSubString(String str,String left,String right){

String strRight="";

int indexLeft = str.indexOf(left);

if(indexLeft==-1){

return "";//没有找到直接返回空以免出现异常

}else{

strRight=str.substring(indexLeft);

}

int length=str.length()-strRight.length();

int indexRight = strRight.indexOf(right);

if (indexRight==-1){

return "";

}

String result=str.substring(length+left.length(),length+indexRight);

return result;

}

private String sendGet(String url) {

String result = "";

BufferedReader in = null;

try {

URL realUrl = new URL(url);

//打开和URL之间的连接

URLConnection connection = realUrl.openConnection();

//设置通用的请求属性

connection.setRequestProperty("accept", "*/*");

connection.setRequestProperty("connection", "Keep-Alive");

connection.setRequestProperty("Accept-Encoding", "utf-8");

connection.setRequestProperty("Host", "api-hl.amemv.com");

connection.setRequestProperty("user-agent","okhttp/3.10.0.1");

connection.setRequestProperty("cookie",this.cookies);

//建立实际的连接

connection.connect();

in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

}catch(Exception e) {

//发送异常

return "发送失败,请检查URL地址是否正确";

}finally{

try{

if(in != null){

in.close();

}

}catch(Exception e2) {

//关闭异常

System.out.println("关闭异常");

}

}

return result;

}

}

码云链接:

抖音java解析_Java版抖音解析接口相关推荐

  1. 抖音Java接口_Java版抖音解析接口

    没有调用第三方接口,纯Java代码完成 使用IDEA编辑器直接打开Douyin文件夹,文件夹已打包上传到网盘 下载地址:https://www.lanzous.com/i4id9mb Tools.ja ...

  2. java $ 解析api_Java 版抖音解析接口

    没有调用第三方接口,纯Java代码完成 使用IDEA编辑器直接打开Douyin文件夹,文件夹已打包上传到网盘 Tools.java package com.lhr; import java.io.Bu ...

  3. 飞机大作战java源代码_java实现抖音飞机大作战

    本文实例为大家分享了java抖音飞机大作战的具体代码,供大家参考,具体内容如下 Airplane.java package zmf.game.shoot; import java.util.Rando ...

  4. 抖音java表白教程_抖音上的表白代码是什么 抖音表白代码怎么写

    抖音上的表白代码是什么 以前大家总说工科生不懂浪漫,但最近抖音上很流行用代码来表白,将代码编写好,然后将文档发给要表白的对象,然后就可以等着对方进入你的表白套路了.其实这是弹窗表白的代码不是很复杂,一 ...

  5. 抖音java表白教程_抖音表白代码制作方法 需要技巧

    操作方法 01 打开电脑. 02 在电脑桌面新建一个文本文档,如图所示. 03 打开文本文档,如图所示. 04 进入之后,输入代码,比如: msgbox("做我女朋友好吗?") m ...

  6. 抖音java表白教程_抖音最火套路情话,深情感人,表白专用!

    一.有一种爱情,叫白头偕老,有一种幸福,叫有你相伴. 二.以前觉得你善解人意,现在觉得你合我心意,以后我们要合心合意. 三.秋风落叶飘零,吹不散你在我心中的身影,秋雨落落停停,感悟对你的真情,岁月抹去 ...

  7. java怎么xml文件解析_Java对Xml文件解析

    JAVA 解析 XML 通常有两种方式,DOM 和 SAX. DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一 ...

  8. java 数据结构_Java版-数据结构-队列(数组队列)

    前言 看过笔者前两篇介绍的 Java版数据结构 数组和 栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是 队列,在队列的实现上会基于前面写的 动态数组来实现, ...

  9. java 加密_Java版SMS4加密解密算法

    特别说明:该专栏文章均来源自微信公众号<大数据实战演练>,欢迎关注! 前言 最近工作中需要实现HBase自定义扩展sms4加密,今天就先来说一下Java版的SMS4加密解密算法的具体实现. ...

  10. idea无法导入java文件_java – IntelliJ IDEA无法解析spring导入的文件

    我有一个带有父pom文件和两个模块(名为"app"和"modules")的multimodule maven项目.在"app"的测试资源中, ...

最新文章

  1. C语言初学者简单语法综合练习
  2. 20181029NOIP模拟赛T2
  3. Linux运维:ulimit命令修改打开文件的句柄数
  4. TensorRT(3)-C++ API使用:mnist手写体识别
  5. 我的notepad++
  6. 2ASK调制与解调(包含maltab代码)
  7. XML Tree Editor(树形视图XML编辑器) v0.1.0.35
  8. (02)VHDL模块介绍
  9. php fakepath,chrome上传图片 路径为c:/fakepath的解决办法
  10. 其实,我只是一个工程师
  11. 国开电大 广告心理学 形考任务
  12. 英语动名词可以做什么句子成分
  13. 开发一个商城需要多少钱 做一个电商网站大概多少钱
  14. Python绘图实例3:正八边形绘制
  15. 洛谷 P1645 序列
  16. tof相机简介及三维坐标转化,plotly画3D点云
  17. SpringBoot-集成Shiro
  18. 旋转体表面积公式推导及证明错误
  19. Google I/O 2021 发布 Flutter 2.2
  20. dnf加物理攻击的卡片有哪些_dnf哪些卡片是加物理攻击力的?

热门文章

  1. 我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)(二)
  2. android studio必须装c盘吗,Android Studio不占用c盘配置
  3. c语言小游戏跳一跳代码及注释,c语言小游戏程序之弹跳小球的实现代码
  4. 【R语言】GARCH模型的应用
  5. 前沿重器[26] | 预训练模型的领域适配问题
  6. Android常用的工具方法
  7. Skype 8.34 Windows7-64bit Ubuntu 16.04安装试验
  8. Java递归求费数列和_简述java递归与非递归算法,0-100求和,斐波那契数列,八皇后,汉诺塔问题...
  9. 使用ItextPdf给PDF文件加文字水印和图片水印
  10. html动态显示背景颜色,js动态修改背景颜色方法汇总