diff --git a/app/src/main/java/com/github/catvod/spider/PanSou.java b/app/src/main/java/com/github/catvod/spider/PanSou.java index dc6c3d0..11a39f2 100644 --- a/app/src/main/java/com/github/catvod/spider/PanSou.java +++ b/app/src/main/java/com/github/catvod/spider/PanSou.java @@ -6,6 +6,7 @@ import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttpUtil; +import com.github.catvod.utils.Misc; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; @@ -13,21 +14,28 @@ import org.jsoup.select.Elements; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** * @author ColaMint & FongMi */ public class PanSou extends Spider { - private final Pattern regexAliUrl = Pattern.compile("(https:\\/\\/www.aliyundrive.com\\/s\\/[^\\\"]+)"); private final String siteUrl = "https://www.alipansou.com"; + private HashMap header; private Ali ali; + private Map getHeaders(String id) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", Misc.CHROME); + headers.put("Referer", siteUrl + id); + headers.put("_bid", "d1810141fb539895ce233cdf66414ca7"); + return headers; + } + @Override public void init(Context context, String extend) { ali = new Ali(extend); @@ -35,15 +43,11 @@ public class PanSou extends Spider { @Override public String detailContent(List ids) throws Exception { - String url = ids.get(0); - Matcher matcher = regexAliUrl.matcher(url); - if (matcher.find()) return ali.detailContent(ids); - url = siteUrl + ids.get(0); - String html = OkHttpUtil.string(url); - matcher = regexAliUrl.matcher(html); - if (!matcher.find()) return ""; - ids.set(0, matcher.group(1).replace("\\/", "/")); - return ali.detailContent(ids); + String url = siteUrl + ids.get(0).replace("s", "cv"); + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(url, getHeaders(ids.get(0)), respHeaders); + url = OkHttpUtil.getRedirectLocation(respHeaders); + return ali.detailContent(Arrays.asList(url)); } @Override diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 163356b..cb659b4 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index d37d5bf..f113bdb 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -9f41e0f17e45a009989248435542b4bc +cdac5d0feef2fb20bb47496ec835a0a2