锁定老帖子 主题:通过JAVA获取优酷视频
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-02
比如:新浪微博就有这个功能,当用户输入视频网址后,就能获取到相应的视频地址及视频的缩略图。 import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; /** * 获取优酷视频 * @author sunlightcs * 2011-3-29 * http://hi.juziku.com/sunlightcs/ */ public class VideoTest { public static void main(String[] args) throws Exception{ String pic = getElementAttrById("s_sina", "href"); int local = pic.indexOf("pic="); pic = pic.substring(local+4); System.out.println("视频缩略图:"+pic); String flashUrl = getElementAttrById("link2", "value"); System.out.println("视频地址:"+flashUrl); String time = getElementAttrById("download", "href"); String []arrays = time.split("\\|"); time = arrays[4]; System.out.println("视频时长:"+time); } /** * 根据HTML的ID键及属于名,获取属于值 * @param id HTML的ID键 * @param attrName 属于名 * @return 返回属性值 */ private static String getElementAttrById(String id, String attrName)throws Exception{ Document doc = getURLContent(); Element et = doc.getElementById(id); String attrValue = et.attr(attrName); return attrValue; } /** * 获取优酷网页的内容 */ private static Document getURLContent() throws MalformedURLException, IOException, UnsupportedEncodingException { Document doc = Jsoup.connect("http://v.youku.com/v_show/id_XMjU0MjI2NzY0.html") .data("query", "Java") .userAgent("Mozilla") .cookie("auth", "token") .timeout(3000) .post(); return doc; } } 全文请访问:http://www.juziku.com/wiki/711.htm 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-02
good,but,楼主,没包啊,顺便提供一下包吧, org.jsoup.* 包提供一下 谢谢了。
|
|
返回顶楼 | |
发表时间:2011-04-02
pouyang 写道 good,but,楼主,没包啊,顺便提供一下包吧, org.jsoup.* 包提供一下 谢谢了。
http://jsoup.org/packages/jsoup-1.5.2.jar |
|
返回顶楼 | |
发表时间:2011-04-03
不错,想我我写的图片下载器,这个貌似好用的多
|
|
返回顶楼 | |
发表时间:2011-04-03
yuanlei18 写道 不错,想我我写的图片下载器,这个貌似好用的多
|
|
返回顶楼 | |
发表时间:2011-04-03
问题:
getElementAttrById方法中调用getURLContent()方法返回Document 每次调用取Id对应对象的方法都会重新访问Url 试验方法:63行 return doc; 前面加上System.out.println(doc); 细看就能知道网络访问了3次youku的url 感觉只是照着jsoup例子把代码堆叠在一起而已~~ |
|
返回顶楼 | |
发表时间:2011-04-04
jsoup这个包没用过,呜呜学习了。我一直以为是REST形式的访问。
|
|
返回顶楼 | |
发表时间:2011-04-04
jsoup解析HTML感觉很赞!
|
|
返回顶楼 | |
发表时间:2011-04-04
jsoup 好东西呀
|
|
返回顶楼 | |
发表时间:2011-04-04
happysoul 写道 问题:
getElementAttrById方法中调用getURLContent()方法返回Document 每次调用取Id对应对象的方法都会重新访问Url 试验方法:63行 return doc; 前面加上System.out.println(doc); 细看就能知道网络访问了3次youku的url 感觉只是照着jsoup例子把代码堆叠在一起而已~~ 代码没有做优化了,只是一个例子。 |
|
返回顶楼 | |