//package cc.mrbird.febs.mall.test; // //import com.alibaba.fastjson.JSONArray; //import com.alibaba.fastjson.JSONObject; //import okhttp3.OkHttpClient; //import okhttp3.Request; //import okhttp3.Response; // //import java.io.IOException; //import java.util.regex.Matcher; //import java.util.regex.Pattern; // //public class DYDelMark { // public static void main(String[] args) { // String content = "https://v.douyin.com/iLwxgYHE/"; // JSONObject douYData = extractDouYinData(content); // if (douYData != null) { // System.out.println(douYData); // } else { // System.out.println(1); // } // } // private static JSONObject extractDouYinData(String content) { // String url = extractUrl(content); // // if (url != null) { // if (content.contains("douyin.com")) { // if (content.contains("live.douyin.com")) { // System.out.println("直播"); // return null; // } else { // String dyUrlOrId = processContent(content); // String videoId = isNumeric(dyUrlOrId) ? dyUrlOrId : extractVideoId(dyUrlOrId); // if (videoId!=null){ // JSONArray dyData = serverGetDy(videoId); // // if (dyData != null && dyData.size() > 0) { // JSONObject jsonData = dyData.getJSONObject(0); // return buildDouYinData(jsonData); // } // } // } // } // } // return null; // } // private static JSONObject buildDouYinData(JSONObject jsonData) { // JSONObject douYData = new JSONObject(); // douYData.put("desc", jsonData.getString("desc")); // // JSONObject author = jsonData.getJSONObject("author"); // douYData.put("nickname", author.getString("nickname")); // // JSONObject videoJson = jsonData.getJSONObject("video"); // JSONObject coverJson = videoJson.getJSONObject("cover"); // String coverUrl = coverJson.getJSONArray("url_list").getString(0); // douYData.put("coverUrl", coverUrl); // // if (jsonData.getJSONArray("images") != null) { // JSONArray images = jsonData.getJSONArray("images"); // JSONArray imageArray = new JSONArray(); // // for (int i = 0; i < images.size(); i++) { // JSONObject image = images.getJSONObject(i); // JSONArray urlList = image.getJSONArray("url_list"); // imageArray.add(urlList.get(0)); // } // // douYData.put("type", 2); // douYData.put("data", imageArray); // } else { // JSONObject playAddr = videoJson.getJSONObject("play_addr"); // String uri = playAddr.getString("uri"); // String videoUrl = "https://www.iesdouyin.com/aweme/v1/play/?video_id=" + uri + "&ratio=1080p&line=0"; // douYData.put("type", 1); // douYData.put("data", videoUrl); // } // // return douYData; // } // public static String processContent(String content) { // String douyinUrl = extractMatch(content, "v\\.douyin\\.com/[a-zA-Z0-9]+"); // if (douyinUrl != null) { // return "https://" + douyinUrl; // } // String digit = extractMatch(content, "\\d{19}"); // return digit; // } // private static String extractMatch(String content, String regex) { // Pattern pattern = Pattern.compile(regex); // Matcher matcher = pattern.matcher(content); // return matcher.find() ? matcher.group(0) : null; // } // public static boolean isNumeric(String str) { // return str.matches("\\d+"); // } // private static String extractUrl(String text) { // // 匹配网址的正则表达式 // String regex = "https?://\\S+"; // Pattern pattern = Pattern.compile(regex); // Matcher matcher = pattern.matcher(text); // // // 查找匹配的链接 // if (matcher.find()) { // return matcher.group(); // } // // return null; // } // public static String extractVideoId(String link) { // String redirectLink = getRedirectUrl(link); // Pattern patternVideo = Pattern.compile("/video/(\\d+)"); // Pattern patternNote = Pattern.compile("/note/(\\d+)"); // // Matcher matcherVideo = patternVideo.matcher(redirectLink); // Matcher matcherNote = patternNote.matcher(redirectLink); // // if (matcherVideo.find()) { // return matcherVideo.group(1); // } else if (matcherNote.find()) { // return matcherNote.group(1); // } else { // return null; // } // } // public static String getRedirectUrl(String url) { // OkHttpClient client = new OkHttpClient(); // try { // Request request = new Request.Builder() // .url(url) // .get() // .build(); // Response response = client.newCall(request).execute(); // return response.request().url().toString(); // // } catch (IOException e) { // e.printStackTrace(); // } // // return null; // } // private static JSONArray serverGetDy(String itemIds){ // OkHttpClient client = new OkHttpClient().newBuilder().build(); // Request Request = new Request.Builder() // //不知道这个a_bogus是啥 可能是个算法 随便填写或空即可 // .url("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids="+itemIds+"&a_bogus=sdfds") // .addHeader("content-type", "application/x-www-form-urlencoded") // .get() // .build(); // try { // Response response = client.newCall(Request).execute(); // JSONObject jsonObject= JSONObject.parseObject(response.body().string()); // if (jsonObject.getInteger("status_code").equals(0)){ // return jsonObject.getJSONArray("item_list"); // } // return null; // } catch (IOException e) { // e.printStackTrace(); // return null; // } // } //}