[小戴]用C#做Youtube,Vimeo解析软件,Youtube,vimeo下载
  • 分类:C#
  • 发表:2017-06-17
  • 围观(1526)
  • 抢沙发

废话

     好久没有写博客了,当初给自己定隔天写一次,果然还是不行,忙着忙着就把事情给忘记了,是人也都懒,需要给自己一个强制性的要求估计可以完成。好了,废话不多说了,今天一个朋友想下载youtube视频,就在那边研究,然后写方法,简单的写了一个解析软件,是基于我原来写的这篇文章翻墙来实现的。


准备工作


     需要先按照这个方法先翻墙:点击这里

     一个windows系统

    .NET FRAMEWOR4.0环境


浅谈代码实现


            int a = 0;
            foreach (Control cn in groupBox2.Controls)
            {
                //MessageBox.Show(cn.Text);
                groupBox2.Controls.Remove(cn);
            }
            foreach (Control cn in groupBox2.Controls)
            {
                //MessageBox.Show(cn.Text);
                groupBox2.Controls.Remove(cn);
            }
            foreach (Control cn in groupBox2.Controls)
            {
                //MessageBox.Show(cn.Text);
                groupBox2.Controls.Remove(cn);
            }
            string dz = dizhi.Text;
            if (!dz.Contains("youtube")) {
                if (!dz.Contains("vimeo")) {
                    MessageBox.Show("无法解析当前地址,本程序暂时只支持youtube和vimeo,请使用YOUTUBE或vimeo播放页地址!");
                    return;
                }
            }
            string neirong = zhuaqu(ip.Text, duankou.Text, dizhi.Text);
            neirong = neirong.Replace(" ","");
            Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)https(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>", RegexOptions.Multiline | RegexOptions.IgnoreCase);
            MatchCollection mc = reg.Matches(neirong);
            if (mc.Count <= 0) {
                MessageBox.Show("无法解析当前地址,或者当前地址有问题,请使用YOUTUBE播放页地址!");
                return;
            }
            int i = 0;
            foreach (Match m in mc)
            {

                LinkLabel LL = new LinkLabel();
                LL.Text = m.Groups["text"].Value;
                LL.Tag= "https://"+ m.Groups["url"].Value;
                LL.LinkClicked+= new LinkLabelLinkClickedEventHandler(lk_LinkClicked);
                // LL.BringToFront();
                LL.Location = new Point(6, 15 + i * 25);
                //MessageBox.Show(m.Groups["title"].ToString());
                groupBox2.Controls.Add(LL);
                i++;

            }

实现效果


    YOUTUBE案例地址:https://www.youtube.com/watch?v=hYvrTHmbKTs

   1.png

    填写地址并解析:

   2.png

  然后选择分辨率点击就能下载。

  VIMEO案例地址:https://vimeo.com/82395449

   3.png


下载程序


     

点击下载:

Foreverdownload.zip




Top