西瓜视频无水印视频解析 1080P 支持4K
2022-10-17 23:12:40 Author: www.52pojie.cn(查看原文) 阅读量:44 收藏

本帖最后由 dpc520 于 2022-10-17 23:29 编辑 抖音无水印解析源码
快手无水印解析源码

快手抖音都写出来了

给个免费的评分支持一下

直接调用简单粗暴

[C#] 纯文本查看 复制代码

  Xg x = new Xg("https://www.ixigua.com/7136468208252355102?logTag=73864750a7ab63812068");
            // Console.WriteLine(x.GetHeightMp4()); 得到视频质量最高的视频地址
            //   x.Get2160(); //得4k视频 如无返回空
           //  x.Get1080Mp4(); 得到1080分辨率视频 无返回空 ""
               //  x.GetTitle 得到视频标题

这是封装好的类

[C#] 纯文本查看 复制代码

using HtmlAgilityPack;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
using System.Net.Http;

namespace Xg
{


   
    public class Xg
    {
        HtmlDocument Doc; //html
        JObject Json;//作品信息的JSON


        public Xg(string url)
        {
        
          if (url.Trim().Length == 29) GetHtml(ref url);
            //得到长链接
             GetHtml(ref url);
            FormatJson( url);
            //构造函数 初始化json
        }

       


        public void GetHtml(ref string url)
        {    

            HttpWebRequest Beg = (HttpWebRequest)WebRequest.Create(url) ;
            HttpWebResponse Ret;
            Beg.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
            Beg.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
            Beg.Headers.Add("Cookie", "ixigua-a-s=1; support_webp=true; support_avif=true; __ac_nonce=063454b6b00d4f78b8c1d; __ac_signature=_02B4Z6wo00f01f4IbSQAAIDCNrSkOsNVka3-KGmAABzJw2Jh8-UbwMpJADtyfKsBlG8uSNRlG8WRe0WJiBnnELkHGl2E80Qf.kjxNadHrUn3v1W-GR26riqXDqj.K.pu2jq57uPdJk8Z3oyK9c; _tea_utm_cache_1300=undefined; MONITOR_WEB_ID=7124914227890439694; ttwid=1%7CszSdFxHrf6xg5cThiKwJhsMNpw4Kpimnyepj1FIscYc%7C1665485824%7C1d015107dbdf704a70f6fc74722077d67f482d0b2d594a0652d360fe81baa93d; msToken=9JMXTpKWpn1A4K3t7lk7zDJXp1wxyaYuTlpCHyBvk1Z8o_TEQ7Sx-cOiniYgCyWBGGyghf97aS1kZncgNsE_mITorQuoHn8o4-vsNbmGF_m5ZSXtUvrUFalMzFqFs94EZA==; tt_scid=0csR7YE-y3ussN5mJn0gntW9jOIrdQODNrv1YmNbOgtAtRZNjp1xD8xrTC.Jn.Qa8e09");

            if (url.Trim().Length == 29)
            {
                Beg.AllowAutoRedirect = false;
                Ret = (HttpWebResponse)Beg.GetResponse();

      
                    
                   url = Ret.Headers["location"];
            }
            else {

                Ret = (HttpWebResponse)Beg.GetResponse();
                StreamReader Read = new StreamReader(Ret.GetResponseStream(), Encoding.UTF8);
             
                url = Read.ReadToEnd();
                Read.Dispose();
            }                                
            Ret.Dispose();
          
            //得到html 
         

        }


        public void FormatHtml(string  str)
        {

            Doc = new HtmlDocument();
            Doc.LoadHtml(str);
            //初始化html

        }

        public void FormatJson(string str)
        {

            Doc = new HtmlDocument();
            Doc.LoadHtml(str);       
           str = Doc.DocumentNode.SelectSingleNode("//body/script[@id='SSR_HYDRATED_DATA']").InnerText.Replace("window._SSR_HYDRATED_DATA=", "");
            Json=JObject.Parse(str);

            //初始化html

        }


        public string Get360Mp4()
        {
            return FormatBase64( Json["anyVideo"]["gidInformation"]["packerData"]["video"]["videoResource"]["normal"]["video_list"]["video_1"]["main_url"].ToString());
        }
        //360分辨率


        public string Get480Mp4()
        {
            try {
            return FormatBase64(  Json["anyVideo"]["gidInformation"]["packerData"]["video"]["videoResource"]["normal"]["video_list"]["video_2"]["main_url"].ToString());
            }
            catch {

                return string.Empty;
            }

        }
        //480分辨率 如果上传的分辨率没超过480就返回空


        public string Get720Mp4()
        {
            try
            {
                return FormatBase64(Json["anyVideo"]["gidInformation"]["packerData"]["video"]["videoResource"]["normal"]["video_list"]["video_3"]["main_url"].ToString());
            }
            catch
            {

                return string.Empty;
            }
            //720分辨率 如果上传的分辨率没到达就返回空
        }

        public string Get1080Mp4()
        {
            try
            {
                return FormatBase64(Json["anyVideo"]["gidInformation"]["packerData"]["video"]["videoResource"]["normal"]["video_list"]["video_4"]["main_url"].ToString());
            }
            catch
            {

                return string.Empty;
            }
            //1080分辨率 如果上传的分辨率没到达就返回空
        }


        public string Get2160()
        {

            try
            {
                return FormatBase64(Json["anyVideo"]["gidInformation"]["packerData"]["video"]["videoResource"]["normal"]["video_list"]["video_5"]["main_url"].ToString());
            }
            catch
            {

                return string.Empty;
            }


            //4K
        }



        public string GetHeightMp4()
        {

            if (Get2160() != string.Empty) return Get2160(); //4k
            if (Get1080Mp4() != string.Empty) return Get1080Mp4();//1080
            if(Get720Mp4()!=string.Empty) return Get720Mp4(); //720
            if (Get480Mp4() != string.Empty) return Get480Mp4(); //480
          
            //得到分辨率最高的视频

            return Get360Mp4(); //360
        }

        public string GetAouthorHeadImage()
        {

            return  Regex.Unescape( Json["anyVideo"]["gidInformation"]["packerData"]["video"]["user_info"]["avatar_url"].ToString());


        //作者头像
        }


        public string GetAouthorName()
        {
            return Json["anyVideo"]["gidInformation"]["packerData"]["video"]["user_info"]["name"].ToString();
        }//作者名称


        public string GetTitle()
        {
            return Json["anyVideo"]["gidInformation"]["packerData"]["video"]["title"].ToString();
        }//作品标题

        public string GetCover()
        {

            return Regex.Unescape( Json["anyVideo"]["gidInformation"]["packerData"]["video"]["poster_url"].ToString());
            //作品封面
        }

        public string FormatBase64(  string str)
        {
            byte[] array = Convert.FromBase64String(str);

            return str = Encoding.UTF8.GetString(array);
          //Base64解密   获得视频的方法都需要调用他
        }




    }



}

文章来源: https://www.52pojie.cn/forum.php?mod=viewthread&tid=1700553
如有侵权请联系:admin#unsafe.sh