1,准备工作:一个jsoup的jar,一个视频bean类:
jar包
bean类
2,封装解析方法:
public static List getData(String url,String itemurl) throws IOException{
//通过Jsoup包下的方法得到Document对象
Document document=Jsoup.connect(url).get();
//用document对象去获得网页内容
/**
* 多个用Elements对象接收,一个用Element接收。
* 在html中(id得到只有一个,class得到的有多个,Tag得到的也是多个)
*
*
*/
//通过class名得到Elements对象infolist
Elements infoList=document.getElementsByClass("infoList");
//通过infilist的第0个对象得到标签为li的Element对象lis
Elements lis=infoList.get(0).getElementsByTag("li");
List data=new ArrayList();
//遍历lis
for (Element li:lis) {
//得到具体的内容 是个a标签
Element content=li.getElementsByClass("tit").get(0).getElementsByTag("a").get(0);
//得到名称
String name=content.text();
System.out.println("视频名称:"+name);
String href=content.attr("href");
System.out.println("a标签的链接:"+href);
/**
* 通过href链接得到视频地址
*/
Document documentitem=Jsoup.connect(itemurl+href).get();
//视频地址在embed这个标签下,所以得到这个标签
Elements embed =documentitem.getElementsByTag("embed");
//开始获取视频地址,先拿到embed标签的flashvars属性 返回值是String类型
String flashvars=embed.get(0).attr("flashvars");
System.out.println("flashvars属性:"+flashvars);
//通过=将flashvar拆分成数组
String[] strs=flashvars.split("=");
//数组最后一项就是视频地址
String videourl=strs[strs.length-1];
System.out.println("视频地址:"+videourl);
System.out.println("///");
data.add(new VideoBean(name,videourl));
}
return data;
}
3,方法调用打印结果:
方法调用
打印结果
4,最后:注意不同的网站有不同的解析方法,这个方法只能解析上面的url,url,我就不穿了,违规,如果想试试的朋友,私下找我。如果有不足之处请各位大神指教。