python實現通過指定瀏覽器免費觀看vip視頻


程序是先通過一個解析視頻的網站,然后我們提取其接口,然后實現觀看vip視頻的目的

所以說免費觀看視頻python程序很容易,但是下載視頻就有些許麻煩了,下載視頻請見我另一篇博客:python+fiddler下載vip視頻 && ts視頻可合並

 

1、解析網站在代碼中如下

 

url = 'http://www.qmaile.com/'

 

2、我們首先把解析網站上的接口爬下來

 

3、然后我們通過python的tkinter庫做一個小程序,將接口渲染到我們程序的面板上

 

4、之后我們在弄一個用於輸入電影鏈接的文本框

 

5、之后點擊播放就會打開一個頁面去播放電影

6、如果你沒有指定用什么瀏覽器打開,程序會自動使用系統默認瀏覽器打開頁面

 

chromePath = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
    webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chromePath))
    '''
    webbrowser.open(url, new=0, autoraise=True)
    在系統的默認瀏覽器中訪問url地址,如果new=0,url會在同一個瀏覽器窗口中打開;如果new=1,新的瀏覽器窗口會被打開;new=2新的瀏覽器tab會被打開。
    '''
    webbrowser.get('chrome').open(var.get()+texts.get())

 

7、這個程序沒什么好說的。重要的是下載視頻部分難搞,原本我以為點擊播放后跳轉到的那個頁面就是視頻地址,我以為可以直接下載。。。沒想到那是一個新的頁面,,,這就比較難搞了,我們就要通過fiddler去解析出視頻真正下載地址,然后才可以去下載(不多說了,看我下篇播客八)

 

8、代碼(程序主要就是用了一個新模塊tkinter)

 

import requests
import re
import tkinter as tk
import webbrowser

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
}
url = 'http://www.qmaile.com/'
response = requests.get(url,headers=headers)
html = response.text
pattern = re.compile('<option.value="(.*?)"')
url_lis = re.findall(pattern,html)

root = tk.Tk()
root.geometry('500x300')  #設置窗口“寬x高”
root.title('vip電影播放')  #設置窗口名稱
na = tk.Label(root,text='播放接口:',font=12) #往窗口上放置文字,並設置字體大小
na.grid()  #將字體放在root上

num=0
var=tk.StringVar()
for i in range(0,len(url_lis)):    #通過循環將每一個播放接口都放到root面板上
    # 如果某一個按鈕被選中,那么url_lis的值會通過variable傳給var
    name1 = tk.Radiobutton(root,text='播放接口'+str(num+1),variable=var,value=url_lis[num])
    name1.grid(row=num,column=3)  #將這個接口放在root面板的第num行,第column列

    num=num+1

na2 = tk.Label(root,text='播放鏈接:',font=12)
na2.grid(row=num,column=0)
texts = tk.Entry(root,text='',width=50)  #輸入鏈接的文本框
texts.grid(row=num,column=3)
num=num+1

def dispaly():#不用系統默認瀏覽器,我們指定瀏覽器來打開鏈接
    chromePath = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
    webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chromePath))
    '''
    webbrowser.open(url, new=0, autoraise=True)
    在系統的默認瀏覽器中訪問url地址,如果new=0,url會在同一個瀏覽器窗口中打開;如果new=1,新的瀏覽器窗口會被打開;new=2新的瀏覽器tab會被打開。
    '''
    webbrowser.get('chrome').open(var.get()+texts.get())
    #webbrowser.open(var.get()+texts.get())
'''
def down_film():
    res = requests.get(texts.get(), headers=headers)
    res.encoding = res.apparent_encoding
    html = res.text
    pattern1 = '<title>(.*?)</title>'
    name = re.search(pattern1, html).group(1)
    print('視頻{}已開始下載.......',format(name))
    url_film = var.get()+texts.get()
    print(url_film)
    film = requests.get(url_film, headers=headers).content
    with open( name+'.mp4', 'wb') as f:
        f.write(film)
    print('視頻{}下載完成!', format(name))'''

bf = tk.Button(root,text='播放',font=12,command=dispaly)  #設定按鈕點擊后觸發的事件
bf.grid(row=num,column=3)

# bf = tk.Button(root,text='下載',font=12,command=down_film)  #設定按鈕點擊后觸發的事件
# bf.grid(row=num+5,column=3)

root.mainloop()
'''
下面以“大決戰奧特八兄弟”這部電影為例,我們先找到他在愛奇藝/騰訊視頻/優酷/芒果/土豆/樂視的播放鏈接
http://www.iqiyi.com/w_19rqswhlx9.html?vfm=m_103_txsp
之后放到程序文本框內就行
'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM