通过JAVA获取优酷视频 Java新浪微博HTML.net
程序员文章站
2024-02-24 08:03:22
...
通过JAVA获取优酷视频,现在很多社会网站都有这个功能,用户输入优酷视频地址后,能找到对应的视频及视频的缩略图,有些社区网站还能获取到视频的时长。
比如:新浪微博就有这个功能,当用户输入视频网址后,就能获取到相应的视频地址及视频的缩略图。
全文请访问:http://www.juziku.com/wiki/711.htm
比如:新浪微博就有这个功能,当用户输入视频网址后,就能获取到相应的视频地址及视频的缩略图。
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