通过JAVA获取土豆视频,现在很多社会网站都有这个功能,用户输入土豆视频地址后,能找到对应的视频及视频的缩略图,有些社区网站还能获取到视频的时长。
比如:新浪微博就有这个功能,当用户输入视频网址后,就能获取到相应的视频地址及视频的缩略图。
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
/**
* 获取土豆网视频
* @author sunlightcs
* 2011-3-31
* http://hi.juziku.com/sunlightcs/
*/
public class TudouTest {
public static void main(String[] args) throws Exception{
Document doc = getURLContent();
String content = doc.html();
int beginLocal = content.indexOf("<script>document.domain");
int endLocal = content.indexOf("</script>");
content = content.substring(beginLocal, endLocal);
String flashUrl = getScriptVarByName("iid_code", content);
flashUrl = "http://www.tudou.com/v/" + flashUrl + "/v.swf";
System.out.println("视频地址:"+flashUrl);
String pic = getScriptVarByName("thumbnail", content);
System.out.println("视频缩略图:"+pic);
String time = getScriptVarByName("time", content);
System.out.println("视频时长:"+time);
}
/**
* 获取script某个变量的值
* @param name 变量名称
* @return 返回获取的值
*/
private static String getScriptVarByName(String name, String content){
String script = content;
int begin = script.indexOf(name);
script = script.substring(begin+name.length()+2);
int end = script.indexOf(",");
script = script.substring(0,end);
String result=script.replaceAll("'", "");
result = result.trim();
return result;
}
/**
* 获取土豆网页的内容
*/
private static Document getURLContent() throws MalformedURLException, IOException, UnsupportedEncodingException {
Document doc = Jsoup.connect("http://www.tudou.com/programs/view/pVploWOtCQM/")
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post();
return doc;
}
}
全文请访问:
http://www.juziku.com/wiki/770.htm
分享到:
相关推荐
### 通过Java获取土豆视频的关键知识点 #### 一、项目背景与目的 在当前互联网环境中,视频内容成为了信息传播的重要载体之一。对于开发者而言,能够有效地抓取和处理这些视频内容变得尤为重要。本示例主要介绍了...
通过上述代码示例,我们可以看到如何使用Java和Jsoup库来从土豆网获取视频数据。这种方法不仅可以帮助开发者快速构建具有视频预览功能的应用程序,还可以为用户提供更加丰富的互动体验。需要注意的是,在实际开发...
- **音视频采集与渲染**:通过Java API与硬件交互,获取和显示音视频数据。 - **带宽管理**:根据网络状况动态调整音视频流的质量,优化用户体验。 - **加密与安全**:使用SSL/TLS等加密技术保护数据传输的安全,...
该压缩包文件“基于PHP的解析无广告土豆播放地址php版源码.zip”包含的是一个使用PHP编程语言编写的程序,其主要目的是解析无广告的土豆视频播放链接。土豆网是一家提供在线视频服务的网站,但其视频播放时可能会带...
2. 使用`ThumbnailUtils`类:这个类主要用于创建视频的缩略图,但需要注意的是,它并不直接从视频文件中提取,而是通过解码视频的一小部分生成缩略图。例如: ```java MediaExtractor extractor = new ...
在Java中处理文件下载时,MIME类型(Multipurpose Internet Mail Extensions)是非常重要的概念。MIME类型是一种标准,用于定义不同类型的网络数据,如文本、图像、音频、视频等。它由两部分组成:类型和子类型,...
1. **获取源码**:从FFmpeg官方网站下载源代码,或者通过Git克隆仓库。 2. **配置编译**:使用Android NDK进行交叉编译,配置编译选项,确保编译出适用于Android平台的静态或动态库。 3. **创建JNI接口**:通过Java ...
通过阅读这份文档,用户可以获得关于如何使用雅奇大师版的详细信息,解决在使用过程中遇到的问题。 在编程领域,易用性是非常重要的一个方面,"雅奇大师版"的出现无疑为编程新手提供了一个友好的学习平台。它降低了...
通过这些接口,你可以创建自定义的监控系统、录像回放应用或者与其他系统的集成。 开发过程中,你需要熟悉以下技术: 1. 流媒体处理:摄像头的视频流通常以RTSP(Real Time Streaming Protocol)或HTTP流形式提供,...
8. **多媒体处理**:可能涉及到音频或视频的播放,使用了Android的MediaStore API来获取设备上的媒体文件。 9. **文件系统**:理解和操作Android的文件系统,以读取和保存图片或应用数据。 10. **版本控制**:项目...
- **当前时间和登录时长展示模块**:Vue.js可以轻松获取和更新当前时间,通过SpringBoot记录用户登录时间,计算登录时长。 - **聊天框模块**:可能使用WebSocket实现即时通讯,Vue.js处理前端消息显示,SpringBoot...
OpenCV(Open Source Computer Vision Library)是一个开源项目,它提供了大量的接口,支持C++、Python、Java等多种编程语言。这个库被广泛用于图像处理、机器学习、计算机视觉和人工智能应用中,包括人脸识别、物体...
FinalHttp 是一个轻量级的Java和Android网络请求框架,由尹吉欢开发。它主要提供HTTP请求和文件下载的功能,旨在减少开发者在网络编程上的复杂性。FinalHttp 支持自动处理重定向、gzip解压、Cookie管理等特性,并且...
对于想要深入学习MySQL的用户,网络上有丰富的教程和资源可供参考,比如可以在土豆网等平台上找到MySQL数据库的学习视频教程。 以上内容涵盖了MySQL的基本概念、特点、应用场景以及相关的工具和资源,希望能帮助...
项目视频上有错误,查询市场活动的sql语句中的limit后面应该用${beginNo},${pageSize},而不是#{}.此外limit的起始索引应该为0,而不是1 2. vue中调用钩子函数beforeMount(),在页面渲染之前向服务器发送axios...