这是第一篇博文,以后也准备开始写自己的技术博客了。
今天记录一下视频抓取的代码,分析了好久土豆的html代码,总算找到了规律。
public static String getTudouVideo(String url) {
Document doc=null;
String videoURL=null;
try {
doc = getURLContent(url);
String content = doc.html();
String iid = getScriptVarByName("iid", content);
String pageId=getScriptVarByName("pageId", content);
String icode=url.split("/")[url.split("/").length-2];
String pageType=null;
if(pageId.contains("1"))
pageType="v";
else if(pageId.contains("2"))
pageType="l";
else if(pageId.contains("4"))
pageType="a";
videoURL = "http://www.tudou.com/"+pageType+"/"+icode+"/&resourceId=0_04_05_99&iid=" + iid + "/v.swf";
} catch (Exception e) {
e.printStackTrace();
}
return videoURL;
}
private static String getScriptVarByName(String name, String content){
String script = content;
int begin = script.indexOf(name);
script = script.substring(begin+name.length()+1);
int end = script.indexOf(",");
script = script.substring(0,end);
String result=script.replaceAll("'", "");
result = result.trim();
return result;
}
很简单的一段代码。土豆的视频地址不能从原始的html文件中获取,因此只能从html中提取有用信息来组合成视频地址。