日期: 2023-01-19 20:35:45
上次分享过后没多久。腾讯就改了签到模式。本来不太敢发出来了,现在发现已经有网友发了2个版本了,那我也发出来我自用的吧。老样子还是腾讯云函数(有人怕云函数收费的,可以冲个一块钱,这种签到自用收不了钱的,我用了2个月也没账单)。脚本也能直接放自己VPS执行。。
现在网上有2个版本。一个是52pojie的。用2个cookies的版本。。还有个是用其中一个COOKIES就行。其实我测下来,第二个COOKIES貌似也是固定的。。我当初头铁。。强行去解密废了点时间。。【此脚本别人不一样的地方可能就是我的直接取主页的COOKIES就可以签】。。不废话了。直接上教程!
【本脚本包含第二次额外签到】
准备工就婧
星愿浏览器(谷歌皮的浏览器都行)
qq或微信登录腾讯云
腾讯视频会员一枚
=============================第一步:获取腾讯视频会员cookies==============
1.浏览器打开腾讯视频官网:
https://v.qq.com/
登录VIP账号(这里我就不详写了。应该都会。我是直接手机扫码登录)
2.登录成功后。恩F12。进入调试模式。选择"Network"标签。点"刷新"(或者摁F5)。加载完后,选择第一
3.在"Headers"标签里。找到"cookie"。复制"cookie:"后面的内容。大概如下:
pgv_pvi=8910069【假装自己是马赛克,这里改成自己的】9WPEnbA==复制代码
==============================第二部:腾讯云部署脚本=============
用qq或者微信登录腾讯云scf(无服务器云函数)
https://console.cloud.tencent.com/scf
函数服务=》(选择区域,上海,广州,成都,Hongkong,北京)
=》新建=》空白函数=》函数名称(随便写,比如txsp_qiandao)=》运行环境(python3.6)=》下一步
复制下面代码:
# -*- coding: utf8 -*-
import requests
import re
import time
from urllib.parse import quote
#tx_getVsToken:2019.12.1
def jiemi(str1):
i=5381
e=0
n=len(str1)
while e < n :
i = i + (i<<5) + ord(str1[e])
e=e+1
#print(i)
#print(i)
res = 2147483647 & i
#print(res)
return str(res);
def start():
try:
s = requests.session()
###################需要修改的部分。
cookie1 = 'TXSP_COOKIE'
serverj_url = 'https://sc.ftqq.com/SCU7bf5e85712【假装自己是马赛克,这里改成自己的】7bf5e768.send?text='
#################需要修改的部分结束。下面的不要动
this_time = int(round(time.time() * 1000))
login_url = 'https://vip.video.qq.com/fcgi-bin/comm_cgi?name=hierarchical_task_system&cmd=2&_=' + str(this_time)
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.204 Safari/537.36',
'referer':'https://v.qq.com/',
'Cookie': cookie1
}
res1 = s.get('https://vm.gtimg.cn/tencentvideo_v1/script/txv.core.js?v=20191112',headers=headers).text
url2 = re.search(r'authRefresh:o(.*?)",', res1).group(1)
url1 = 'https://access.video.qq.com'+url2[2:]
#获取cookies里的值
cookies_arr = cookie1.split('; ')
for cookie2 in cookies_arr:
c1 = cookie2.split('=')
if c1[0] =='vqq_vusession':
vqq_vusession = c1[1]
if c1[0] =='vqq_access_token':
vqq_access_token = c1[1]
if c1[0] =='pgv_pvi':
pgv_pvi = c1[1]
if c1[0] =='vqq_vuserid':
vqq_vuserid = c1[1]
print('vqq_vusession:'+vqq_vusession )
vqq_vusession1 =jiemi(vqq_vusession)
print('vqq_vusession加密后:'+vqq_vusession1 )
url0 = url1 + '&type=qq&g_tk=&g_vstk='+vqq_vusession1+'&g_actk=&_=' + str(this_time)
print(url0)
res =s.get(url0,headers=headers).text
print('访问结果1:'+res)
if 'Account Verify Error' in res:
print('cookies失效,通知SERVER酱!')
requests.get(serverj_url + quote('腾讯视频自动签到失败~'+time.strftime('%Y.%m.%d',time.localtime(time.time()))) +'&desp='+quote('cookies失效,请更新! '))
exit()
else:
print('签到完成')
new_vus = re.search(r'vusession":"(.*?)","', res).group(1)
print('new_vus:'+new_vus)
#使用新的cookies签到
cookie2 = 'pgv_pvi='+pgv_pvi+';main_login=qq;vqq_vusession='+new_vus+';'
headers2={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.204 Safari/537.36',
'referer':'https://v.qq.com/',
'Cookie': cookie2
}
#签到
res2 =s.get(login_url,headers=headers2).text
print('访问结果2:'+res2)
#====================================QQd端额外签到
#使用新的cookies签到
#需要腾讯视频APP的USER-AGENT
cookie2 = 'vqq_vuserid='+vqq_vuserid+';main_login=qq;vqq_vusession='+new_vus+';'
headers2={
'User-Agent':'Mozilla/5.0 (Linux; Android 9; MI 6X Build/PKQ1.180904.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045120 Mobile Safari/537.36 QQLiveBrowser/8.0.0.20765',
'referer':'https://v.qq.com/',
'Cookie': cookie2
}
#QQ端签到
s.get('https://v.qq.com/x/cover/rj8uc45tm8a17wm/z0032udy82e.html',headers=headers2).text
res2 =s.get('http://v.qq.com/x/bu/mobile_checkin',headers=headers2).text
print('QQ端签到结束')
print('QQ端签到结果(返回数据长度):'+str(len(res2)))
#==================================QQ端额外签到结束
except Exception as e:
print("地址访问失败,通知SERVER酱!")
print(e)
requests.get(serverj_url + quote('腾讯视频自动签到失败~'+time.strftime('%Y.%m.%d',time.localtime(time.time()))) +'&desp='+quote('异常代码: '+str(e)))
def main_handler(event, context):
return start()
if __name__ == '__main__':
start()
复制代码
代码需要修改的地方2处。两行放一起了,
TXSP_COOKIE (1,刚才获取的cookies字符串)
https://sc.ftqq.com/SCU7bf5e85712【假装自己是马赛克,这里改成自己的】7bf5e768.send?text=(2,server酱的地址,申请地址:http://sc.ftqq.com/)
=》完成。
=》触发方式=》定时触发 / 名称:txsp_timer / 自定义触发周期(0 0 3 * * * *) / =》保存
=》函数代码=》测试(如果日志显示'{ "ret": 0,"checkin_score": 0,"msg":"OK"}'就算成功了。如果访问错误或者。COOKIES错误。会有中文提示)
正常结尾显示如下:
访问结果2:QZOutputJson=({ "ret": 0,"checkin_score": 0,"msg":"OK"});
QQ端签到结束
QQ端签到结果(返回数据长度):54504
签到完成复制代码
额外说明:
1.自定义触发周期。是设置的每天3点触发。如果想要7点 。3改成7就行。
(最好不要都用3点。。一个时间段太多签到。论坛会有压力)
每天八点(0 0 8 * * * *)
每天六点半(0 30 6 * * * *)
2.如果想要测试server酱地址。。直接写个错误的cookies。
3.如果云函数那里无法粘贴代码,可能是浏览器问题,可以用福利吧推荐的【星愿浏览器】,或者【谷歌浏览器】,或者【CHROME内核的EDGE】