抖音Java接口_Java版抖音解析接口
没有调用第三方接口,纯Java代码完成
使用IDEA编辑器直接打开Douyin文件夹,文件夹已打包上传到网盘
下载地址:https://www.lanzous.com/i4id9mb
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;
}
}
码云链接:
https://gitee.com/lhr0321/20175318_JAVA/tree/master/Douyin
抖音Java接口_Java版抖音解析接口相关推荐
- java实现多个接口_java允许实现多个接口
java不允许多重继承,也就是说一个子类只能有一个父类,Son extends FatherA,FatherB 是错误的为了弥补这点不 足,java允许实现多个接口, 接口就是给出一些没有内容的方法, ...
- java中抽象类 接口_java中的抽象类与接口
1.抽象类的定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 2.简单实例 ...
- java callable接口_Java多线程之Callable接口的实现有返回值的线程
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util. ...
- java中如何定义接口_java中如何定义一个接口
使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下:[修饰符] interface 接口名 [e ...
- java调用远程 接口_java通过url调用远程接口返回json数据
java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...
- 软件外部接口和内部接口_java中的内部类内部接口详解
简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口. ...
- 搭建一个解析接口教程(自己的解析接口,可自定义广告)
搭建一个解析接口(自己的解析接口,可自定义广告) 演示网站:https://vip.yftx2020.top 一.下载解析源码 解析源码下载 提取码:3tkq 二.修改user.php文件(压缩包里有 ...
- 飞机大作战java源代码_java实现抖音飞机大作战
本文实例为大家分享了java抖音飞机大作战的具体代码,供大家参考,具体内容如下 Airplane.java package zmf.game.shoot; import java.util.Rando ...
- 抖音java表白教程_抖音上的表白代码是什么 抖音表白代码怎么写
抖音上的表白代码是什么 以前大家总说工科生不懂浪漫,但最近抖音上很流行用代码来表白,将代码编写好,然后将文档发给要表白的对象,然后就可以等着对方进入你的表白套路了.其实这是弹窗表白的代码不是很复杂,一 ...
最新文章
- Linux终端设备详解
- 当城市实现完全自动驾驶,车该怎么开?人该怎么走?
- windows 批处理
- 360能卸载oracle,如何完全卸载Oracle
- 51CTO下载“开心辞典” 实现你的下载豆梦想【已结束】
- osi模型_OSI模型
- 修改Linux文件的读写权限
- html隐藏标签console,console的隐藏知识点,你get到了嘛?
- 志远电脑公司网站系统
- ami码matlab,matlab编程实现ami码的相关问题
- mq消息队列到底是什么
- 如何在阿里云建立网站
- 签订保险合同后的事-续保、批单、退保、理赔
- python3网络爬虫(堆糖网)
- Android Jetpack架构篇:Room
- MySQL数据库对象
- 客户细分是客户关系管理的重要手段
- 苹果强制使用HTTPS传输后APP开发者必须知道的事
- Unity Mathf【Deg Rad】- 关于数学运算中的度与弧度
- 163邮箱自动化登录实现模块化【1】