几行代码实现免费观看VIP视频(支持Windows、Mac)

文章目录

  • 一、简单介绍
  • 二、具体说明
    • 1、寻找
    • 2、方式
    • 3、实现
    • 4、用C#编写整个程序
      • 4.1、界面简单设计
      • 4.2、源码分解
      • 4.3 、全部源码
        • 4.3.1、Form1.cs
        • 4.3.2 、Form1.Designer.cs
      • 4.4、打包C#程序详细教程
    • 5、python+pyqt5实现这个小程序
      • 5.1、源码
      • 5.2、Windows下运行界面
      • 5.3、 打包成WatchVIPVideo.app(Mac)
      • 5.4、Mac下运行界面
  • 三、资源下载

一、简单介绍

实现原理非常简单。网上有很多vip视频解析网站如 无名小站 等等,找到输入vip视频的接口。然后再加上一段vip视频地址,最后把整个链接在默认浏览器打开。

二、具体说明

1、寻找

打开vip视频解析网站如无名小站 ,可以看到直接的接口。我们要做的就是找到这个接口的链接。
几行代码实现免费观看VIP视频(支持Windows、Mac)_第1张图片

2、方式

输入一个vip视频链接如https://v.qq.com/x/cover/eiltk86r8o001mf.html(敦刻尔克)然后就可以看了。
几行代码实现免费观看VIP视频(支持Windows、Mac)_第2张图片
上图画圈便是先前看到的接口链接,然后加上“”敦刻尔克”视频链接就可以播放了。

3、实现

我们要做就是编程实现接口与视频链接的相加,最后在浏览器打开。
我在网上找了很久,看了很多网页源代码终于找到五个接口链接供大家使用。

http://www.wmxz.wang/video.php?url=
http://www.a305.org/weixin.php?url=
http://www.vipjiexi.com/tong.php?url=
http://jx.aeidu.cn/index.php?url=
http://tv.dsqndh.com/?jk=http%3A%2F%2Fjqaaa.com%2Fjx.php%3Furl%3D&url=

4、用C#编写整个程序

4.1、界面简单设计

几行代码实现免费观看VIP视频(支持Windows、Mac)_第3张图片
五个通道代表上面的五个解析接口。

4.2、源码分解

string str1 = "http://www.wmxz.wang/video.php?url=";
//定义一个全局变量用来存放解析接口

//这句代码用来实现用默认浏览器打开链接
System.Diagnostics.Process.Start(str1 + textBox1.Text.ToString());

//下面是radiobutton改变监控事件,每次选择一个通道便对str1赋予对应的接口
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
    str1 = "http://www.vipjiexi.com/tong.php?url=";
}

上面是核心的代码。

4.3 、全部源码

4.3.1、Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace wardseptember
{
    public partial class Form1 : Form
    {
        string str1 = "http://www.wmxz.wang/video.php?url=";

        public Form1()
        {
            InitializeComponent();
        }
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            str1 = "http://www.wmxz.wang/video.php?url=";
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "")
                {
                    MessageBox.Show("Please input correct video URL", "Warning Message", MessageBoxButtons.OKCancel);
                }
                else
                {
                    System.Diagnostics.Process.Start(str1 + textBox1.Text.ToString());
                }
            }
            catch
            {
                MessageBox.Show("Please check your input", "Warning Message", MessageBoxButtons.OKCancel);
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            str1 = "http://www.vipjiexi.com/tong.php?url=";
        }

        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            str1 = "http://jx.aeidu.cn/index.php?url=";
        }

        private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {
            str1 = "http://tv.dsqndh.com/?jk=http%3A%2F%2Fjqaaa.com%2Fjx.php%3Furl%3D&url=";
        }

        private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            str1 = "http://www.a305.org/weixin.php?url=";
        }
    }
}

4.3.2 、Form1.Designer.cs

namespace wardseptember
{
    partial class Form1
    {
        /// 
        /// Required designer variable.
        /// 
        private System.ComponentModel.IContainer components = null;

        /// 
        /// Clean up any resources being used.
        /// 
        /// true if managed resources should be disposed; otherwise, false.
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.radioButton1 = new System.Windows.Forms.RadioButton();
            this.radioButton2 = new System.Windows.Forms.RadioButton();
            this.radioButton3 = new System.Windows.Forms.RadioButton();
            this.radioButton4 = new System.Windows.Forms.RadioButton();
            this.radioButton5 = new System.Windows.Forms.RadioButton();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.button1 = new System.Windows.Forms.Button();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.radioButton5);
            this.groupBox1.Controls.Add(this.radioButton4);
            this.groupBox1.Controls.Add(this.radioButton3);
            this.groupBox1.Controls.Add(this.radioButton2);
            this.groupBox1.Controls.Add(this.radioButton1);
            this.groupBox1.Location = new System.Drawing.Point(89, 33);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(269, 148);
            this.groupBox1.TabIndex = 0;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "选择播放通道";
            // 
            // radioButton1
            // 
            this.radioButton1.AutoSize = true;
            this.radioButton1.Checked = true;
            this.radioButton1.Location = new System.Drawing.Point(98, 28);
            this.radioButton1.Name = "radioButton1";
            this.radioButton1.Size = new System.Drawing.Size(59, 16);
            this.radioButton1.TabIndex = 0;
            this.radioButton1.TabStop = true;
            this.radioButton1.Text = "通道一";
            this.radioButton1.UseVisualStyleBackColor = true;
            this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
            // 
            // radioButton2
            // 
            this.radioButton2.AutoSize = true;
            this.radioButton2.Location = new System.Drawing.Point(98, 50);
            this.radioButton2.Name = "radioButton2";
            this.radioButton2.Size = new System.Drawing.Size(59, 16);
            this.radioButton2.TabIndex = 0;
            this.radioButton2.Text = "通道二";
            this.radioButton2.UseVisualStyleBackColor = true;
            this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButton2_CheckedChanged);
            // 
            // radioButton3
            // 
            this.radioButton3.AutoSize = true;
            this.radioButton3.Location = new System.Drawing.Point(98, 72);
            this.radioButton3.Name = "radioButton3";
            this.radioButton3.Size = new System.Drawing.Size(59, 16);
            this.radioButton3.TabIndex = 0;
            this.radioButton3.Text = "通道三";
            this.radioButton3.UseVisualStyleBackColor = true;
            this.radioButton3.CheckedChanged += new System.EventHandler(this.radioButton3_CheckedChanged);
            // 
            // radioButton4
            // 
            this.radioButton4.AutoSize = true;
            this.radioButton4.Location = new System.Drawing.Point(98, 116);
            this.radioButton4.Name = "radioButton4";
            this.radioButton4.Size = new System.Drawing.Size(59, 16);
            this.radioButton4.TabIndex = 0;
            this.radioButton4.Text = "通道五";
            this.radioButton4.UseVisualStyleBackColor = true;
            this.radioButton4.CheckedChanged += new System.EventHandler(this.radioButton4_CheckedChanged);
            // 
            // radioButton5
            // 
            this.radioButton5.AutoSize = true;
            this.radioButton5.Location = new System.Drawing.Point(98, 94);
            this.radioButton5.Name = "radioButton5";
            this.radioButton5.Size = new System.Drawing.Size(59, 16);
            this.radioButton5.TabIndex = 0;
            this.radioButton5.Text = "通道四";
            this.radioButton5.UseVisualStyleBackColor = true;
            this.radioButton5.CheckedChanged += new System.EventHandler(this.radioButton5_CheckedChanged);
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(158, 212);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(200, 21);
            this.textBox1.TabIndex = 1;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(87, 215);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(65, 12);
            this.label1.TabIndex = 2;
            this.label1.Text = "视频链接:";
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(205, 249);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(78, 35);
            this.button1.TabIndex = 3;
            this.button1.Text = "播放";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // textBox2
            // 
            this.textBox2.ForeColor = System.Drawing.Color.Red;
            this.textBox2.Location = new System.Drawing.Point(89, 290);
            this.textBox2.Multiline = true;
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(269, 64);
            this.textBox2.TabIndex = 4;
            this.textBox2.Text = "注意:此软件仅用于学习交流,请勿用于任何商业用途。\r\n建议:建议将Chrome浏览器设置为默认浏览器。\r\nanthor:wardseptember";
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(448, 374);
            this.Controls.Add(this.textBox2);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.groupBox1);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.Name = "Form1";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "VIP视频解析助手";
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.RadioButton radioButton5;
        private System.Windows.Forms.RadioButton radioButton4;
        private System.Windows.Forms.RadioButton radioButton3;
        private System.Windows.Forms.RadioButton radioButton2;
        private System.Windows.Forms.RadioButton radioButton1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.TextBox textBox2;
    }
}


4.4、打包C#程序详细教程

https://blog.csdn.net/wardseptember/article/details/78942553

5、python+pyqt5实现这个小程序

用python实现这个小程序是我今天刚写的(2018.7.16),这次可以说是进行一些优化,vip视频解析接口已经增加到了18个,几乎全网的视频都可以免费观看。另外,这次是直接打包成可执行文件,免安装,方便使用。

5.1、源码

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'WatchVIPVideo.ui'
# Created by: PyQt5 UI code generator 5.10.1
# @Time:2018/7/16 14:05
# @Author: wardseptember
# @File: VIPVideoWatch.py

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import (QWidget, QLabel,QGridLayout,QLineEdit,QMainWindow,QMessageBox,
    QComboBox, QApplication)
from PyQt5.QtGui import QIcon,QColor
from PyQt5.QtCore import Qt
import sys
import webbrowser
class VIPVideo(QWidget):
    def __init__(self):
        super().__init__()

        self.setupUi(self)
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(447, 338)
        Form.setWindowIcon(QIcon('cat.ico'))
        self.comboBox_2 = QtWidgets.QComboBox(Form)
        self.comboBox_2.setGeometry(QtCore.QRect(200, 60, 171, 22))
        self.comboBox_2.setObjectName("comboBox_2")
        self.comboBox_2.addItem("Channel 1")
        self.comboBox_2.addItem("Channel 2")
        self.comboBox_2.addItem("Channel 3")
        self.comboBox_2.addItem("Channel 4")
        self.comboBox_2.addItem("Channel 5")
        self.comboBox_2.addItem("Channel 6")
        self.comboBox_2.addItem("Channel 7")
        self.comboBox_2.addItem("Channel 8")
        self.comboBox_2.addItem("Channel 9")
        self.comboBox_2.addItem("Channel 10")
        self.comboBox_2.addItem("Channel 11")
        self.comboBox_2.addItem("Channel 12")
        self.comboBox_2.addItem("Channel 13")
        self.comboBox_2.addItem("Channel 14")
        self.comboBox_2.addItem("Channel 15")
        self.comboBox_2.addItem("Channel 16")
        self.comboBox_2.addItem("Channel 17")
        self.comboBox_2.addItem("Channel 18")
        self.comboBox_2.setEditable(False)
        self.label_1 = QtWidgets.QLabel(Form)
        self.label_1.setGeometry(QtCore.QRect(70, 60, 121, 21))
        self.label_1.setObjectName("label_1")
        self.label_2 = QtWidgets.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(70, 110, 121, 21))
        self.label_2.setObjectName("label_2")
        self.lineEdit = QtWidgets.QLineEdit(Form)
        self.lineEdit.setGeometry(QtCore.QRect(200, 110, 171, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.textEdit = QtWidgets.QTextEdit(Form)
        self.textEdit.setGeometry(QtCore.QRect(70, 210, 301, 111))
        self.textEdit.setObjectName("textEdit")
        self.textEdit.setEnabled(False)


        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(100, 160, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.OpenUrl)
        self.pushButton_2 = QtWidgets.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(260, 160, 75, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_2.clicked.connect(self.close)
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
        Form.setFixedSize(Form.width(),Form.height())


        Form.show()
    def OpenUrl(self,Form):
        str=""
        str1=self.lineEdit.text()
        str2=self.comboBox_2.currentText()
        if str2=="Channel 1":
            str="http://www.wmxz.wang/video.php?url="
        elif str2=="Channel 2":
            str="http://goudidiao.com/?url="
        elif str2 == "Channel 3":
            str="http://api.baiyug.cn/vip/index.php?url="
        elif str2 == "Channel 4":
            str="http://www.a305.org/weixin.php?url="
        elif str2=="Channel 5":
            str="http://www.vipjiexi.com/tong.php?url="
        elif str2 == "Channel 6":
            str="http://jx.aeidu.cn/index.php?url="
        elif str2 == "Channel 7":
            str="http://www.sonimei.cn/?url="
        elif str2=="Channel 8":
            str="https://api.vparse.org/?url="
        elif str2 == "Channel 9":
            str="https://jx.maoyun.tv/index.php?id="
        elif str2 == "Channel 10":
            str="http://pupudy.com/play?make=url&id="
        elif str2=="Channel 11":
            str="http://www.qxyingyuan.vip/play?make=url&id="
        elif str2 == "Channel 12":
            str="http://appapi.svipv.kuuhui.com/svipjx/liulanqichajian/browserplugin/qhjx/qhjx.php?id="
        elif str2 == "Channel 13":
            str="http://api.xfsub.com/index.php?url="
        elif str2 == "Channel 14":
            str="https://jiexi.071811.cc/jx.php?url="
        elif str2 == "Channel 15":
            str="http://q.z.vip.totv.72du.com/?url="
        elif str2=="Channel 16":
            str="http://jx.api.163ren.com/vod.php?url="
        elif str2 == "Channel 17":
            str="http://www.sfsft.com/admin.php?url="
        elif str2 == "Channel 18":
            str="http://v.renrenfabu.com/jiexi.php?url="
        else:
            str="https://api.vparse.org/?url="
        if str1=="":
            reply = QMessageBox.question(self, 'Message',
                                         "Please correctly input url !",
                                         QMessageBox.Yes | QMessageBox.No,
                                         QMessageBox.Yes)
        else:
            webbrowser.open(str+str1)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "WatchVIPVideo"))
        self.label_1.setText(_translate("Form", "Select a channel:"))
        self.label_2.setText(_translate("Form", "Input VIPVideo URL:"))
        self.textEdit.setHtml(_translate("Form", "\n"
"\n"
"

Note: This software is for learning technology only and should not be used for any commercial purposes.

\n"
"

Recommendation: It is recommended to set the Chrome browser as the default browser.

\n"
"

Author:wardseptember

\n"
"

Author\'s email:[email protected]

"
)) self.pushButton.setText(_translate("Form", "Play")) self.pushButton_2.setText(_translate("Form", "Exit")) if __name__ == '__main__': app = QApplication(sys.argv) ex = VIPVideo() sys.exit(app.exec_())

5.2、Windows下运行界面

几行代码实现免费观看VIP视频(支持Windows、Mac)_第4张图片

5.3、 打包成WatchVIPVideo.app(Mac)

打包成app更新于2019.2.28
在mac终端输入

pip3 install py2app sip
py2applet --make-setup WatchVIPVideo.py
python3 setup.py py2app

然后就可以在WatchVIPVideo.py同目录下dist文件夹中看到WatchVIPVideo.app

5.4、Mac下运行界面

几行代码实现免费观看VIP视频(支持Windows、Mac)_第5张图片

三、资源下载

vs2017 C#vip视频解析助手源码
链接:https://pan.baidu.com/s/1nzOM1VVl8r2MyH6N1jcuog 密码:swn5

vip视频解析助手软件下载(c#书写 windows下使用):
链接:https://pan.baidu.com/s/1o92Bi247-DT-ilDK0niN8g 密码:3wqb

vip视频解析助手软件下载(python书写 windows下使用):
链接:https://pan.baidu.com/s/1sV_o2FMVabw1CxqOm74Fhg 密码:gir1

由于百度网盘上传文件受限所以mac版本放到了github上
下载链接

WatchVIPVideoforMac.app/Contents/MacOS/找到WatchVIPVideoforMac运行即可
几行代码实现免费观看VIP视频(支持Windows、Mac)_第6张图片

你可能感兴趣的:(C#)