[原创源码] 爬虫-哔哩哔哩-视频下载

a1辅助网提供[原创源码] 爬虫-哔哩哔哩-视频下载的下载地址,长期提供破解软件,各种线报福利等,39493是一个很好的福利资源网站

完美剿灭OVG 发表于 2020-11-15 21:59
好哥哥能不能帮我爬这个https://n.163.com/2020/dasongjiaren3/#/list    噫呜呜噫

[C#] 纯文本查看 复制代码
   string serviceUrl = "https://nshssl.hi.163.com/file_mg/public/nsh/dasongjiaren202010/list/hot?callback=jQuery1113015049877925995525_1605448956941&channel=1&page=1&stage=1&_=1605448956942";              HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);              HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();              StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);;              string ReturnXml = reader.ReadToEnd();              reader.Close();              myResponse.Close();              string html = ReturnXml;//这个html就是页面的数据包括人物图片、得票数等等
[原创源码] 爬虫-哔哩哔哩-视频下载
谢谢辛苦啦。
之前的一个工具不能用,手动又麻烦,楼主[原创源码] 爬虫-哔哩哔哩-视频下载
这个可以有 感谢分享

今天闲的无聊写的一个哔哩哔哩视频下载,因为要下载一个4k画质的视频奈何要开会员和下载客户端才能下载。
哔哩哔哩的视频有点特殊,他是由视频+音频两个文件组成的,所以把这两个文件下载下来后需要将视频和音频合并。
合并用的ffmpeg的插件,但是不知道为什么有时候会合并失败,不过不重要,把音频和视频下载出来后网上有很多第三方的合并软件可以合成。
使用方式:首先选择文件保存的地址,然后输入视频网页地址,点击确定,然后选择画质一般选4K吧。
然后就等他下载,不得不说哔哩哔哩的网络带宽挺大的,下载十多秒,下载完成后,按照提示点击合并按钮进行合并。
合并完成后你的文件夹有三个文件(音频、视频、合成视频)。
有时候可能会合并失败,多试几次,或者网上找其他的合成工具进行合并
本来想放成品的,但是51限制文件大小3M,就懒得用其他方式上传了 因为没啥技术含量,我把关键代码贴出来就基本上能做出来(贴出的代码就是获取下载链接的,里面包括视频链接和音频链接,然后下载下来用ffmpeg合并)。
PS:不知道为什么最近感觉身体被掏空了。
没想到回复的人那么多,把成品地址发给大家

链接: https://pan.baidu.com/s/1jYqO7pBrR55_zUte0IQbJw 提取码: m74w
代码:

[C#] 纯文本查看 复制代码
private void button2_Click(object sender, EventArgs e)          {              label2.Visible = true;              HttpHelper http = new HttpHelper();              HttpItem item = new HttpItem              {                  URL = textBox1.Text.Trim(),                  Host = "www.bilibili.com",                  UserAgent = userAgent              };              var result = http.GetHtml(item);              string html = result.Html;              string gl = HttpHelper.GetBetweenHtml(html, "window.__playinfo__=", "</script><script>window.__INITIAL_STATE__");              title = HttpHelper.GetBetweenHtml(html, "<title data-vue-meta="true">", "</title>");              root = (Root)HttpHelper.JsonToObject<Root>(gl);              if (root.code == 0)              {                    RadioButton[] radioButton = new RadioButton[root.data.accept_description.Count];                  //控件上边缘与容器上边缘的距离                    int top = 6;                  //记录循环,控件左上角相对于容器左上角的坐标                    int i = 0;                  int n = 0;                  GroupBox gb = new GroupBox();                  panel1.AutoScroll = true;                  for (n = 0; n < root.data.accept_description.Count; n++)                  {                      radioButton[n] = new RadioButton();                      button3.Visible = true;                      if (n % 3 == 0 && n != 0)                      {                          top += 30;                          i = 0;                      }                      if (n == 0)                      {                          radioButton[n].Checked = true;                      }                      radioButton[n].AutoSize = true;                      radioButton[n].Top = top;                      //控件左上角相对于容器左上角的坐标,以及每个控件之间的距离                        radioButton[n].Location = new Point(i * 150 + 2, top);                      // MessageBox.Show(name[n].ToString());                        radioButton[n].Text = root.data.accept_description[n];                      radioButton[n].Visible = true;                      radioButton[n].Name = "radioButton" + n;                      radioButton[n].Tag = n;                      this.panel1.Controls.Add(radioButton[n]);                      i++;                  }              };          }            //点击下载按钮的代码              foreach (var item in panel1.Controls)              {                  if (item is RadioButton)                  {                      RadioButton radio = item as RadioButton;                      if (radio.Checked)                      {                          var tag = int.Parse(radio.Tag.ToString());                          string videourl = root.data.dash.video.ToList()[tag].baseUrl;                          string audiourl = root.data.dash.audio.ToList()[0].baseUrl;                          //DownloadAudio(audiourl);                          //DownloadVideo(videourl);                            Thread thread = new Thread(new ParameterizedThreadStart(DownloadVideo));                          thread.Start(videourl);                          Thread thread2 = new Thread(new ParameterizedThreadStart(DownloadAudio));                          thread2.Start(audiourl);                        }                    }  //合成代码  private void button4_Click(object sender, EventArgs e)          {              this.Invoke((EventHandler)delegate              {                  textBox2.Text += DateTime.Now.ToString() + "合并中 请稍后...rn";              });              string path = textBox3.Text + guid ;              string avi = textBox3.Text +"合并视频";              string arguments = "-i " + path + ".avi  -i " + path + ".aac  -vcodec copy -acodec copy " + avi + ".avi";              //arguments = "-i " + path + ".avi  -i " + path + ".aac  -c:v copy -c:a aac -strict experimental " + avi + ".avi";              Process p = new Process();              p.StartInfo.FileName = "ffmpeg.exe";              p.StartInfo.Arguments = arguments;              p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;              //  p.StartInfo.RedirectStandardError = true;              p.ErrorDataReceived += new DataReceivedEventHandler(Output);//外部程序              p.Start();//启动线程              timer1.Enabled = true;          }    

部分文章来自互联网,侵权删除www.a1fz.com/

www.a1fz.com A1fz网专注于福利分享,各种破解软件学习资料,视频教程等等,如有侵权告知管理员删除
A1fz.com,福利吧,宅男福利,宅男,福利社,福利,有福利 » [原创源码] 爬虫-哔哩哔哩-视频下载

发表评论