package com.yeshi.buwan.util;
|
|
import java.io.IOException;
|
import java.net.URLDecoder;
|
import java.util.List;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
import org.jsoup.Jsoup;
|
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Element;
|
import org.jsoup.select.Elements;
|
|
import com.yeshi.buwan.dao.BaseDao;
|
import com.yeshi.buwan.domain.YSDQVideoUrl;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
public class YingShiDaQuanUtil {
|
final static String HEADER = "https://dqplayers.duapp.com/";
|
|
public static String getVideoIdFromUrl(String url) {
|
Document doc = null;
|
try {
|
doc = Jsoup.connect(url).get();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
Elements els = doc.getElementsByTag("script");
|
for (int i = 0; i < els.size(); i++) {
|
Element el = els.get(i);
|
if (el.toString().contains("var ff_urls")) {
|
String json = el.toString().replace("<script language=\"javascript\">", "").replace("</script>", "")
|
.replace("var ff_urls='", "").replace("}';", "}");
|
JSONObject object = JSONObject.fromObject(json);
|
JSONArray array = object.optJSONArray("Data");
|
for (int j = 0; j < array.size(); j++) {
|
String u = array.optJSONObject(j).optJSONArray("playurls").optJSONArray(0).optString(2);
|
if (url.contains(u)) {
|
return array.optJSONObject(j).optJSONArray("playurls").optJSONArray(0).optString(1);
|
}
|
}
|
|
break;
|
}
|
}
|
return "";
|
}
|
|
public static String getRequestUrl(String vid) {
|
return HEADER + "bshare/bshare.php?v=" + vid;
|
}
|
|
// 20e0b09415ec
|
public static String getRealUrl(String videoId) {
|
String url = HEADER + "bshare/bshare.php?v=" + videoId;
|
Document doc = null;
|
try {
|
doc = Jsoup.connect(url).get();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
Elements els = doc.getElementsByTag("script");
|
for (int i = 0; i < els.size(); i++) {
|
Element el = els.get(i);
|
if (el.toString().contains("var flashvars")) {
|
String[] sts = el.toString().split(";");
|
for (String st : sts) {
|
if (st.contains("var flashvars")) {
|
Pattern pattern = Pattern.compile("(?<=\\{)[^\\}]+");
|
Matcher matcher = pattern.matcher(st);
|
while (matcher.find()) {
|
JSONObject obj =JSONObject.fromObject("{" + matcher.group() + "}");
|
return URLDecoder.decode(obj.optString("a")).replace("tss=ios", "tss=android");
|
}
|
break;
|
}
|
}
|
break;
|
}
|
}
|
|
return "";
|
}
|
|
public static String parseUrl(String result) {
|
Document doc = Jsoup.parse(result);
|
Elements els = doc.getElementsByTag("script");
|
for (int i = 0; i < els.size(); i++) {
|
Element el = els.get(i);
|
if (el.toString().contains("var flashvars")) {
|
String[] sts = el.toString().split(";");
|
for (String st : sts) {
|
if (st.contains("var flashvars")) {
|
Pattern pattern = Pattern.compile("(?<=\\{)[^\\}]+");
|
Matcher matcher = pattern.matcher(st);
|
while (matcher.find()) {
|
JSONObject obj = JSONObject.fromObject("{" + matcher.group() + "}");
|
return URLDecoder.decode(obj.optString("a")).replace("tss=ios", "tss=android");
|
}
|
break;
|
}
|
}
|
break;
|
}
|
}
|
return "";
|
}
|
|
public static YSDQVideoUrl getYSDQVideoUrl(String detailid) {
|
BaseDao<YSDQVideoUrl> dao = new BaseDao<YSDQVideoUrl>();
|
List<YSDQVideoUrl> list = dao.list("from YSDQVideoUrl y where y.detailId=?", new String[] { detailid });
|
if (list != null && list.size() > 0) {
|
return list.get(0);
|
}
|
return null;
|
}
|
|
public static void updateYSDQVideoUrl(String detailid, String url) {
|
BaseDao<YSDQVideoUrl> dao = new BaseDao<YSDQVideoUrl>();
|
List<YSDQVideoUrl> list = dao.list("from YSDQVideoUrl y where y.detailId=?", new String[] { detailid });
|
if (list != null && list.size() > 0) {
|
YSDQVideoUrl ys = list.get(0);
|
ys.setUrl(url);
|
ys.setUpdatetime(System.currentTimeMillis() + "");
|
dao.update(ys);
|
} else {
|
YSDQVideoUrl ys = new YSDQVideoUrl();
|
ys.setDetailId(detailid);
|
ys.setUpdatetime(System.currentTimeMillis() + "");
|
ys.setUrl(url);
|
dao.create(ys);
|
}
|
}
|
}
|