ADD file via upload

master
ptjqfmxk9 3 years ago
parent 8c9932063e
commit 1dcc774e04

@ -0,0 +1,100 @@
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
# 参考一些开源项目
# 写一些解析各大网站视频/音乐的接口
Loading…
Cancel
Save