diff --git a/get_m3u8.py b/get_m3u8.py deleted file mode 100644 index 9ff8aba..0000000 --- a/get_m3u8.py +++ /dev/null @@ -1,100 +0,0 @@ -import selenium -import time -import requests -from requests import utils -from selenium import webdriver -from selenium.webdriver.common.by import By -from selenium.webdriver.chrome.options import Options - -# 创建Chrome浏览器的一个Options实例对象 -chrome_options = Options() - -# 设置chrome禁用图片的相关设置 -prefs = { - 'profile.default_content_setting_values': { - 'images': 2, # 屏蔽图片 - 'notifications': 2, # 屏蔽消息推送 - 'stylesheet': 2, # 屏蔽css - } -} -chrome_options.add_experimental_option("prefs", prefs) -chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) # 设置为开发者模式,避免被识别 -# chrome_options.add_argument('--headless') # 设置无界面模式 -driver = webdriver.Chrome(options=chrome_options) - - -# cookie转字典格式 -def cookie_to_dic(cookie): - cookie_dic = {} - cookie = cookie.split(';') - for i in cookie: - if i == '': - continue - split_list = i.split('=', 1) - cookie_dic[split_list[0]] = split_list[1] - return cookie_dic - - -# cookie处理 获取 vusession -def sign_in(): - login_headers = { - 'Referer': 'https://v.qq.com', - 'Cookie': 'RK=YX0UEQuQc+; ptcz=d40f025b92495b40d3fc0d5056517dfeebbff8614231422b7d7af2b8f0e60d41; ' - 'pgv_pvid=7446353280; tvfe_boss_uuid=be8e9187cfa98741; video_guid=c01ade079830ba3a; ' - 'video_platform=2; _video_qq_login_time_init=1648646719; o_cookie=7162990; pac_uid=1_7162990; ' - 'pgv_info=ssid=s4323616200; _qpsvr_localtk=0.8345327357280963; ptui_loginuin=2302701417; ' - 'main_login=qq; vqq_access_token=7F7983B57D98C209C86B1783E1CF23F3; vqq_appid=101483052; ' - 'vqq_openid=422AC6FAE31853765F1390B1D76838AA; vqq_vuserid=301208119; ' - 'vqq_vusession=9HlXh7gQNyHlCEYmO6m6zA..; vqq_refresh_token=B97EB39D777C6ED019A96E45C8D5D94F; ' - 'vqq_next_refresh_time=6600; vqq_login_time_init=1649577646; login_time_init=2022-4-10 16:0:45; ' - 'login_time_last=2022-4-10 16:0:46' # 这里把cookie替换成自己的cookie,别把引号删了!! - } - login = requests.get('https://access.video.qq.com/user/auth_refresh?vappid=11059694&vsecret' - '=fdf61a6be0aad57132bc5cdf78ac30145b6cd2c1470b0cfe&type=qq&g_tk=&g_vstk=521269673&g_actk' - '=1377228769&callback=jQuery191078097906786654_1649577660499&_=1649577660500', - headers=login_headers) # 这里把auth_refres换成自己的,别把引号删了!! - cookie = requests.utils.dict_from_cookiejar(login.cookies) - sign_headers = "RK=YX0UEQuQc+; ptcz=d40f025b92495b40d3fc0d5056517dfeebbff8614231422b7d7af2b8f0e60d41; " \ - "pgv_pvid=7446353280; tvfe_boss_uuid=be8e9187cfa98741; video_guid=c01ade079830ba3a; " \ - "video_platform=2; _video_qq_login_time_init=1648646719; o_cookie=7162990; pac_uid=1_7162990; " \ - "pgv_info=ssid=s4323616200; _qpsvr_localtk=0.8345327357280963; ptui_loginuin=2302701417; " \ - "main_login=qq; vqq_access_token=7F7983B57D98C209C86B1783E1CF23F3; vqq_appid=101483052; " \ - "vqq_openid=422AC6FAE31853765F1390B1D76838AA; vqq_vuserid=301208119; vqq_vusession= " - temp = cookie['vqq_vusession'] - sign_headers = sign_headers + temp - x_cookie = cookie_to_dic(sign_headers) - return x_cookie - - -def run_js(): - js0 = 'document.getElementsByClassName("txp_menuitem")[1].click()' # 切换清晰度 - js1 = 'return PLAYER._DownloadMonitor.context.dataset.title,' \ - 'PLAYER._DownloadMonitor.context.dataset.ckc?PLAYER._DownloadMonitor.context.dataset.currentVideoUrl:PLAYER' \ - '._DownloadMonitor.context.dataset.currentVideoUrl.replace(/:.*qq.com/g,' \ - '"://defaultts.tc.qq.com/defaultts.tc.qq.com") ' # 获取m3u8地址 - from_url = 'https://v.qq.com/x/cover/mzc00200iw8qib0.html' - driver.get(from_url) - cookie = sign_in() - - print("cookie:", cookie) - # set up cookie 将cookie导入网页 - for i in cookie: - name = i.strip(" ").strip("\n") - values = cookie[i].strip(" ").strip("\n") - print(name, ":", values) - driver.add_cookie({"name": name, "value": values}) - time.sleep(3) - print(driver.get_cookies()) - driver.refresh() - driver.execute_script(js0) - time.sleep(3) - print(driver.execute_script(js1)) - - -if __name__ == '__main__': - run_js() - - -# flask/fastapi -# 参考一些开源项目 -# 写一些解析各大网站视频/音乐的接口