在Java中不使用任何API获取youtube视频标签
我一直在尝试从youtube视频ID获取youtube视频标签,到处搜索,但得到了PHP的答案,因为我是一名java开发新手,所以我没有尝试任何东西。这是一个漫长而复杂的过程,但我将试着解释如何做到这一点在Java中不使用任何API获取youtube视频标签,java,youtube,tags,Java,Youtube,Tags,我一直在尝试从youtube视频ID获取youtube视频标签,到处搜索,但得到了PHP的答案,因为我是一名java开发新手,所以我没有尝试任何东西。这是一个漫长而复杂的过程,但我将试着解释如何做到这一点 为视频创建一个url对象url url=newURL(视频url在这里!) 打开一个urlconnectionurlconnection urlCon=url.openConnection() 从连接中读取 这是最难的部分。。。我们需要解析来自读者的信息。。。 我不能为你做这部分,因为它需要大
url url=newURL(视频url在这里!)代码>
urlconnection urlCon=url.openConnection()代码>
在浏览了youtube页面的源代码之后,我注意到youtube标签存储为
关键字
下面是它的“关键词”:[“詹姆斯”、“小鹅”、“太阳”、“微系统”、“学生”]
我们只需要提取一个字符串,该字符串以关键字开始,以]
结束,然后是清理数据
导入java.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.net.URL;
导入java.util.array;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类YoutubeTags
{
公共静态void main(字符串[]args){
最终字符串baseUrl=”https://www.youtube.com/watch?v=";
字符串videoId=“r19P3y1VBiw”;
字符串标记[]=null;
试一试{
URL=新URL(baseUrl+videoId);
BufferedReader br=新的BufferedReader(新的InputStreamReader(url.openStream());
Pattern=Pattern.compile(“\”关键字([^\\]])*”;
弦线;
而((line=br.readLine())!=null){
匹配器匹配器=模式匹配器(线);
if(matcher.find()){
tags=matcher.group().split(“,”);
打破
}
}
}捕获(例外e){
//做点什么
}
//清理数据
for(int i=0;i
输出
[詹姆斯、高斯林、太阳、微系统、学生]
注意:我用这个作为回答的基础。为了便于理解,我删除了一些代码。谢谢你的回复,我是一个非常新手,所以我不知道如何用java解析信息。是的,我花了大约32分钟试图解析这些数据,但我做不到。这是唯一的方法,尽管没有API,但最终它可能会更优化,更容易使用API,即使它很难理解
InputStream inputStream = urlCon.getInputStream();
InputStreamReader reader = new InputStreamReader(inputStream);
BufferedReader br = new BufferedReader(reader);
String line = "";
while((line = br.readLine())!=null){
//now we parse the information here!
}