代码拉取完成,页面将自动刷新
同步操作将从 WKC/BiliExptengxunyun 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
from BiliClient import bili
import json, time, re
topiclist = ('抽奖','动态抽奖','互动抽奖')#话题列表
islike = True #转发前是否关注
now_time = int(time.time())#当前时间
end_time = now_time - (now_time + 28800) % 86400 #结束时间,为今天0点
start_time = end_time - 86400 #开始时间,为昨天0点
#转发开始时间到结束时间内的所有话题动态
def bili_topic_repost(data, list, time):
'''转发指定时间段内的话题'''
alr = []#记录已经转发的动态用于去重
try:
biliapi = bili()
bili.login_by_cookie(data)
except Exception as e:
print(f'登录验证id为{data["DedeUserID"]}的账户失败,原因为{str(e)},跳过后续所有操作')
return
if not biliapi.islogin:
print(f'id为{data["DedeUserID"]}的账户登录失效,跳过后续所有操作')
return
for tpn in list:
topic = biliapi.getTopicList(tpn)
for x in topic:
stime = x["desc"]["timestamp"]
if(stime > time[1]):
continue
if(stime < time[0]):
break
dyid = x["desc"]["dynamic_id"]
if dyid in alr:
continue
try:
if islike and x["desc"]["is_liked"] == 0:
if biliapi.followed(x["desc"]["uid"])['code'] != 0:
print("关注异常")
biliapi.repost(dyid)
print(f'id为{data["DedeUserID"]}的账户转发抽奖(用户名:{x["desc"]["user_profile"]["info"]["uname"]},动态id:{dyid})成功')
except Exception as e:
print(f'此次转发抽奖失败,原因为{str(e)}')
else:
alr.append(dyid)
def main(*args):
with open('config/config.json','r',encoding='utf-8') as fp:
configData = json.loads(re.sub(r'\/\*[\s\S]*?\/', '', fp.read()))
for x in configData["users"]:
bili_topic_repost(x["cookieDatas"], topiclist, (start_time, end_time))
if __name__=="__main__":
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。