首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 影片解析工具:整合優酷、土豆、酷6、6間房、56 網視頻連結與縮圖擷取

     編輯:Java 相關知識

前言:一站式影片資訊擷取

使用者貼上主流影音網站網址,系統自動辨識平台並解析出:播放連結(Flash/嵌入碼)、縮圖網址、影片長度。核心依賴 Jsoup 解析 HTML、提取關鍵元素屬性與 Script 變數。

專案依賴




    org.jsoup
    jsoup
    1.17.2

核心架構 VideoUtil.java

  • getVideoInfo(url):總入口,依域名分派至各平台解析方法
  • 各平台專屬解析:getYouKuVideo、getTudouVideo、getKu6Video、get6Video、get56Video
  • 輔助方法:getURLContent(Jsoup 連線)、getElementAttrById、getScriptVarByName(從 JS 變數提取值)

各平台解析關鍵邏輯

平台縮圖提取播放連結提取時長提取
優酷#s_sina@href 解析 pic= 參數#link2@value#download@href 分割 | 取第 5 段
土豆Script 變數 thumbnailScript 變數 iid_code 組裝 https://www.tudou.com/v/{iid}/v.swfScript 變數 time
酷6#plVideosList img@src 或 .s_pic#outSideSwfCode@valuespan.review > cite 文字
6間房.summary img@src#video-share-code@value 再解析 embed@src列表頁 #watchUserVideo / #watchRelVideo 比對網址取 em
56網HTML 片段 "img":"..." 正則提取組裝 https://player.56.com{url_path}.swf(原碼未實作)

資料封裝 Video.java


public class Video {
    private String flash; // 播放連結
    private String pic;   // 縮圖網址
    private String time;  // 時長
    // getter/setter 略
}

測試主程式


public static void main(String[] args) {
    String url = "https://www.56.com/u64/v_NTkzMDEzMTc.html";
    Video video = VideoUtil.getVideoInfo(url);
    System.out.println("縮圖: " + video.getPic());
    System.out.println("播放: " + video.getFlash());
    System.out.println("時長: " + video.getTime());
}

維護與避坑提醒

  1. 網站改版即失效:選擇器、Script 變數名、URL 結構皆可能變動,建議建立平台適配器介面,新增平台只需實作介面,並加入單元測試監控。
  2. 反爬蟲機制:需模擬瀏覽器 User-Agent、Cookie、Referer,必要時引入 Selenium/Playwright 渲染 JS。
  3. 版權與法律:僅供技術研究,商業使用需取得平台授權,遵守 robots.txt 與服務條款。
  4. 現代化替代:優酷/騰訊/愛奇藝等主流平台已提供開放 API(OAuth2)、HLS/MP4 直鏈,優先使用官方 API。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved