Python 某度贴吧签到脚本 V2 云函数版
Python某度贴吧签到脚本V2云函数版是一个基于百度云函数的自动签到工具。用户只需在百度云函数中部署该脚本,即可实现每天自动签到功能。该脚本支持多个贴吧同时签到,具有高效、稳定、安全的特点。用户无需担心账号被封禁的风险,因为签到行为完全由云函数完成,不会触发任何异常行为。此外,该脚本还支持自定义签到时间,满足不同用户的需求。总之,Python某度贴吧签到脚本V2云函数版是一款实用的自动签到工具,能够帮助用户轻松实现贴吧签到任务。
使用方法
注册账号,过程略。网址:https://console.cloud.tencent.com/
进入云函数控制台的函数服务:https://console.cloud.tencent.com/scf/index?rid=1
单击“新建”
如图(BDUSS及Stoken获取见附录,粘贴代码时留下它原来的第一行
Python代码
fromrequestsimportsessionfromhashlibimportmd5fromrandomimportrandomfromtimeimportsleepclassTieba():def__init__(self,BDUSS,STOKEN):self.BDUSS=BDUSSself.STOKEN=STOKENself.count=[0,0,0]#签到成功,已经签到,总self.session=session()self.session.headers.update({'Accept':'text/html,*/*;q=0.01','Accept-Encoding':'gzip,deflate','Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8','Connection':'keep-alive','Host':'tieba.baidu.com','Referer':'http://tieba.baidu.com/i/i/forum','User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)''Chrome/71.0.3578.98Safari/537.36','X-Requested-With':'XMLHttpRequest'})defset_cookie(self):self.session.cookies.update({'BDUSS':self.BDUSS,'STOKEN':self.STOKEN})deffetch_tbs(self):r=self.session.get('http://tieba.baidu.com/dc/common/tbs').json()ifr['is_login']==1:self.tbs=r['tbs']else:raiseException('获取tbs错误!以下为返回数据:'+str(r))deffetch_likes(self):self.rest=set()self.already=set()r=self.session.get('https://tieba.baidu.com/mo/q/newmoindex?').json()ifr['no']==0:forforuminr['data']['like_forum']:self.count[2]+=1ifforum['is_sign']==1:self.already.add(forum['forum_name'])else:self.rest.add(forum['forum_name'])else:raiseException('获取关注贴吧错误!以下为返回数据:'+str(r))defsign(self,forum_name):data={'kw':forum_name,'tbs':self.tbs,'sign':md5(f'kw={forum_name}tbs={self.tbs}tiebaclient!!!'.encode('utf8')).hexdigest()}r=self.session.post('http://c.tieba.baidu.com/c/c/forum/sign',data).json()ifr['error_code']=='160002':print(f'"{forum_name}"已签到!')self.count[1]+=1returnTrueelifr['error_code']=='0':print(f'"{forum_name}"签到成功,您是第{r["user_info"]["user_sign_rank"]}个签到的用户!')#Modify!self.count[0]+=1returnTrueelse:print(f'"{forum_name}"签到失败!以下为返回数据:{str(r)}')returnFalsedefloop(self,n):print(f'*开始第{n}轮签到*')rest=set()self.fetch_tbs()forforum_nameinself.rest:sleep(random()*3)flag=self.sign(forum_name)ifnotflag:rest.add(forum_name)self.rest=restdefmain(self,max):self.set_cookie()self.fetch_likes()n=0ifself.already:print('*已经签到的贴吧*')forforum_nameinself.already:print(f'"{forum_name}"已签到!')self.count[1]+=1whilen<maxandself.rest:n+=1self.loop(n)print('*本日签到报告*')print(f'共{self.count[2]}个贴吧,其中签到成功{self.count[0]}个,已经签到{self.count[1]}个,签到失败{len(self.rest)}个。')ifself.rest:print('*签到失败列表*')forforum_nameinself.rest:print(f'"{forum_name}"签到失败!')defmain_handler(*args):withopen('BDUSS.txt')asf:BDUSS=f.read()withopen('STOKEN.txt')asf:STOKEN=f.read()task=Tieba(BDUSS,STOKEN)task.main(3)#不需要推送的删除以下几行iftask.rest:message=f'以下为未完成列表:'forforumintask.rest:message+='n'+forumdata={'text':'签到未完全完成!','desp':message}post('https://sc.ftqq.com/你的key.send',data=data)```
回到此界面,点击"测试"(应该会自动部署,如提示请先部署就先部署一下)
如若成功,应该能看到“测试成功”,输出签到的详细信息,可以进入下一步;如若失败,查看是否复制粘贴出错,无误仍出错请参照附录。
设置自动执行
表达式:0 0 1 * * * *