论坛首页 Java企业应用论坛

通过JAVA获取6间房视频

浏览 1881 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-02  
通过JAVA获取6间房视频,现在很多社会网站都有这个功能,用户输入6间房视频地址后,能找到对应的视频及视频的缩略图,有些社区网站还能获取到视频的时长。
比如:新浪微博就有这个功能,当用户输入视频网址后,就能获取到相应的视频地址及视频的缩略图。
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;
import org.jsoup.select.Elements;


/**
* 获取6间房视频
* @author sunlightcs
* 2011-3-31
* http://hi.juziku.com/sunlightcs/
*/
public class CN6Test {
	private static String URL = "http://6.cn/watch/14757577.html";
	public static void main(String[] args) throws Exception{
		
		Document doc = getURLContent();
		
		
		System.out.println("视频标题:"+doc.title());
		
		/**
		 * 获取视频缩略图
		 */
		Element picEt = doc.getElementsByClass("summary").first();
		String pic = picEt.getElementsByTag("img").first().attr("src");
		System.out.println("视频缩略图:"+pic);
		
		
		String time = getVideoTime(doc,"watchUserVideo");
		
		if(time==null){
			time = getVideoTime(doc,"watchRelVideo");
		}
		System.out.println("视频时长:"+time);
		
		
		/**
		 * 获取视频地址
		 */
		Element flashEt = doc.getElementById("video-share-code");
		doc = Jsoup.parse(flashEt.attr("value"));  
		String flash = doc.select("embed").attr("src");
		
		System.out.println("视频地址:"+flash);
		
	}

	/**
	 * 获取视频时长    
	 */
	private static String getVideoTime(Document doc, String id) {
		String time = null;
		
		Element timeEt = doc.getElementById(id); 
		Elements links = timeEt.select("dt > a");
		
		
		for (Element link : links) {
		  String linkHref = link.attr("href");
		  if(linkHref.equalsIgnoreCase(URL)){
			  time = link.parent().getElementsByTag("em").first().text();
			  break;
		  }
		}
		return time;
	}
	
	/**
	 * 获取6间房网页的内容
	 */
	private static Document getURLContent() throws MalformedURLException, IOException, UnsupportedEncodingException {
		Document doc = Jsoup.connect(URL)
		  .data("query", "Java")
		  .userAgent("Mozilla")
		  .cookie("auth", "token")
		  .timeout(3000)
		  .post();
		return doc;
	}

}


全文请访问:http://www.juziku.com/wiki/772.htm
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics