流媒体开发之-音悦台TV解析(一)

2014-11-24 08:07:42 · 作者: · 浏览: 0

由于工作问题写博客不能连贯,很多个人开发者开发播放器的时候,基本上都是提供播放功能,没有提供网上资源,比较维护是很麻烦的,我们可以使用网上资源,最近业余在搞音乐部分,对于资源部分我也是使用网上现有的资源,比如音悦台里面有很多TV,我们可以解析他们的网页内容。下面就是解析其中一个网页的TV

首先确定你TV要实现的内容,封装一个类内容如下:

package com.pigvideo.model;

import java.io.Serializable;
/**
 * Created by Administrator on 13-12-7.
 */
public class YinYueTaiModel implements  Serializable{

	private static final long serialVersionUID = 1L;
	/**
     * 网页上面的视频连接
     */
    private String href;
    /**
     * 解析以后的真正的视频连接
     */
    private String realHref;
    /**
     * 视频的图片链接
     */
    private String img;
    /**
     * 视频的标题
     */
    private String title;
    /**
     * 视频的清晰度
     */
    private String shdIco;
    /**
     * 视频的时间
     */
    private String v_time_num;
    /**
     * 视频的艺人
     */
    private String man;
    /**
     * 视频的描述
     */
    private String description;

    public String getHref() {
        return href;
    }

    public void setHref(String href) {
        this.href = href;
    }

    public String getRealHref() {
        return realHref;
    }

    public void setRealHref(String realHref) {
        this.realHref = realHref;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getShdIco() {
        return shdIco;
    }

    public void setShdIco(String shdIco) {
        this.shdIco = shdIco;
    }

    public String getV_time_num() {
        return v_time_num;
    }

    public void setV_time_num(String v_time_num) {
        this.v_time_num = v_time_num;
    }

    public String getMan() {
        return man;
    }

    public void setMan(String man) {
        this.man = man;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

	@Override
	public String toString() {
		StringBuffer buffer = new StringBuffer();
		buffer.append(标题: +getTitle()+  艺人:+getMan()+  格式: +getShdIco()+  时间: +getV_time_num()+描述:+getDescription()+  图片:+getImg()+  地址:+getHref());
		return buffer.toString();
	}
    
    
}

然后就是解析 html

package com.pigvideo.parser.yinyuetai;

import com.pigvideo.model.YinYueTaiModel;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.ArrayList;

/**
 * Created by jwzhangjie on 13-12-7.
 */
public class YinYueTai {

    public ArrayList
  
    getYinYueTai(String url){
        ArrayList
   
     listData = new ArrayList
    
     (); try { Document doc = Jsoup.connect(url).get(); // Elements mv_list_verticals = doc.select(div#mvlist.mv_list_vertical); Element mv_list_vertical = doc.getElementById(mvlist); Elements mv_lists = mv_list_vertical.select(li); System.out.println(mv_lists.size()); for (Element mv : mv_lists) { YinYueTaiModel yinYueTaiModel = new YinYueTaiModel(); Element thumb_mv = mv.select(div.thumb_mv).first(); Element href_a = thumb_mv.getElementsByTag(a).first(); yinYueTaiModel.setHref(href_a.attr(href)); Element img = href_a.getElementsByTag(img).first(); yinYueTaiModel.setImg(img.attr(src)); yinYueTaiModel.setTitle(img.attr(title)); yinYueTaiModel.setShdIco(thumb_mv.select(div.shdIco).first().text()); yinYueTaiModel.setV_time_num(thumb_mv.select(div.v_time_num).text()); Element info = mv.select(div.info).first(); yinYueTaiModel.setMan(info.select(a.name).first().text()); yinYueTaiModel.setDescription(info.select(p.description).first().text()); listData