From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 20 二月 2025 16:57:55 +0800 Subject: [PATCH] IOS广告增加区域屏蔽 --- src/main/java/com/yeshi/buwan/videos/bilibili/BilibiliApiUtil.java | 46 +++++++++++++++++++++++++++++++--------------- 1 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/videos/bilibili/BilibiliApiUtil.java b/src/main/java/com/yeshi/buwan/videos/bilibili/BilibiliApiUtil.java index 17dcf8d..f6805f4 100644 --- a/src/main/java/com/yeshi/buwan/videos/bilibili/BilibiliApiUtil.java +++ b/src/main/java/com/yeshi/buwan/videos/bilibili/BilibiliApiUtil.java @@ -16,7 +16,9 @@ import javax.script.ScriptException; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class BilibiliApiUtil { @@ -38,8 +40,9 @@ } /** + * 缃戦〉閾炬帴锛歨ttps://www.bilibili.com/guochuang/index/ * @param type - * @param order 2-杩界暘浜烘暟 + * @param order 3-杩界暘浜烘暟 * @param page 0-鏈�杩戞洿鏂� * @return */ @@ -106,23 +109,36 @@ } private static String parsePageData(String url) throws ScriptException, NoSuchMethodException, IOException { - Document doc = Jsoup.connect(url).userAgent("Dalvik/2.1.0 (Linux; U; Android 9; MI 8 Lite MIUI/V10.2.3.0.PDTCNXM)").timeout(30000).get(); - Elements els = doc.getElementsByTag("script"); - for (int i = 0; i < els.size(); i++) { - if (els.get(i).html().indexOf("window.__INITIAL_STATE__") > -1) { - String script = els.get(i).html(); - System.out.println(script); - String result = getPageData(script); - return result; - } - } - return null; + Map<String,String> headers=new HashMap<>(); + headers.put("User-Agent","Dalvik/2.1.0 (Linux; U; Android 9; MI 8 Lite MIUI/V10.2.3.0.PDTCNXM)"); + String result_str = org.yeshi.utils.HttpUtil.get(url,new HashMap<>(),headers); + int start_index = result_str.indexOf("window.__INITIAL_STATE__="); + result_str= result_str.substring(start_index); + int endIndex = result_str.indexOf( "</script>"); + + String script = result_str.substring(0,endIndex); + String result = getPageData(script); + return result; + +// +// Document doc = Jsoup.connect(url).userAgent("").timeout(30000).get(); +// Elements els = doc.getElementsByTag("script"); +// for (int i = 0; i < els.size(); i++) { +// if (els.get(i).html().indexOf("window.__INITIAL_STATE__=") > -1) { +// String script = els.get(i).html(); +// System.out.println(script); +// String result = getPageData(script); +// return result; +// } +// } +// return null; } - public static void main(String[] args) throws IOException, ScriptException, NoSuchMethodException { - MediaUrlResult result = getMediaList(BilibiliUtil.TYPE_DIANSHIJU, 2, 1); - System.out.println(result); + public static void main(String[] args) throws Exception { + MediaUrlResult result = getMediaList(BilibiliUtil.TYPE_GUOMAN, 3, 1); +// parseMediaInfo("https://www.bilibili.com/bangumi/play/ss28747"); +// System.out.println(result); } public static class MediaUrlResult { -- Gitblit v1.8.0