b站如何快速升级,全网b站永久免费入口

首页 > 实用技巧 > 作者:YD1662023-04-30 21:36:39

进入【创建函数】页面,选择【使用标准Runtime从零创建】

配置函数名称,选择运行环境为Python3,并且选择从文件夹上传代码。

注意,这里如果有依赖包需要提前下载到代码包下,我这里需要用到requests包 ,在本地需要执行 pip install -t . <模块名称>。不过后续也可以在控制台处执行下载命令

这里的Python功能实现的脚本是定时触发类的,因此我们选择请求处理程序类型为【处理事件请求】

b站如何快速升级,全网b站永久免费入口(5)

下方配置触发器,选择定时触发器,输入名称,选择【指定时间】,我这里选择的是每日的23点进行脚本的运行

b站如何快速升级,全网b站永久免费入口(6)

Python脚本内容

# -*- coding: utf8 -*- import requests import json import time import re import sys import codecs from bs4 import BeautifulSoup from json.Decoder import JSONdecodeError # B站登陆cookie cookie = "" # Webhook地址 webhook = "https://oapi.dingtalk.com/robot/send?access_token=xxxx" # 自动观看的BV号,杰伦新专-最伟大的作品 bid = 'BV1ua411p7iA' uid=re.match('(?<=DedeUserID=).*?(?=;)',cookie) sid=re.match('(?<=sid=).*?(?=;)',cookie) csrf=re.match('(?<=bili_jct=).*',cookie) # 部分编码问题 sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) # bv转为av def bv_to_av(bv): headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36', } r = requests.get('https://api.bilibili.com/x/web-interface/view', {'bvid': bv}, headers=headers) response = decode_json(r) try: return str(response['data']['aid']) except (KeyError, TypeError): return '883409884' # json解析 def decode_json(r): try: response = r.json() except JSONDecodeError: return -1 else: return response # 自定义钉钉机器人推送 def pushinfo(info,specific): # 定义推送内容,格式参考https://open.dingtalk.com/document/group/message-types-and-data-format # 注意机器人的关键词 data = { "msgtype": "text", "text": { "title":"Taoreset", "content": "【Taoreset-Serverless推送】\n" info specific } } headers = {'content-type': 'application/json'} # 请求头 r = requests.post(webhook, headers=headers, data=json.dumps(data)) r.encoding = 'utf-8' print (r.text) # 阿b登录,得登陆经验 def login(): headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36', 'Cookie':cookie } response = requests.session().get('http://api.bilibili.com/x/space/myinfo',headers=headers) rejson = json.loads(response.text) code = rejson['code'] msg = rejson['message'] if code == 0: print('登录成功') return True else: print('登录失败:' msg) return False # 获取用户信息 def get_user_info(): headers = { 'Cookie':cookie } response = requests.session().get('http://api.bilibili.com/x/space/myinfo?jsonp=jsonp',headers=headers) rejson = json.loads(response.text) code = rejson['code'] msg = rejson['message'] if code == 0: userInfo=['账号:' str(rejson['data']['silence']), '硬币:' str(rejson['data']['coins']), '经验:' str(rejson['data']['level_exp']['current_exp']) "/" str(rejson['data']['level_exp']['next_exp']), '等级:' str(rejson['data']['level']), '昵称:' str(rejson['data']['name']) ] print(userInfo[0]) print (userInfo[1]) print(userInfo[2]) print(userInfo[3]) print(userInfo[4]) return userInfo else: print("用户信息获取失败:" msg) return "用户信息获取失败:" msg # 直播签到,赚银瓜子儿 def do_sign(): headers = { 'Cookie':cookie } response = requests.session().get('https://api.live.bilibili.com/sign/doSign',headers=headers) rejson = json.loads(response.text) code = rejson['code'] msg = rejson['message'] if code == 0: print('直播签到成功!') return True else: print("直播签到失败:" msg) return False # 看BV号视频,得观看经验 def watch(): aid=bv_to_av(bid) headers = { 'Cookie':cookie } response = requests.session().get('http://api.bilibili.com/x/web-interface/view?aid=' str(aid),headers=headers) rejson = json.loads(response.text) code = rejson['code'] #print(response.text) if code == 0: cid = rejson['data']['cid'] duration = rejson['data']['duration'] else: print('视频信息解析失败') return False payload = { 'aid': aid, 'cid': cid, 'jsonp': "jsonp", 'mid': uid, 'csrf': csrf, 'played_time': 0, 'pause': False, 'realtime': duration, 'dt': 7, 'play_type': 1, 'start_ts': int(time.time()), } response = requests.session().post('http://api.bilibili.com/x/report/web/heartbeat',data=payload,headers=headers) rejson = json.loads(response.text) code = rejson['code'] if code == 0: time.sleep(5) payload['played_time'] = duration - 1 payload['play_type'] = 0 payload['start_ts'] = int(time.time()) response = requests.session().post('http://api.bilibili.com/x/report/web/heartbeat',data=payload,headers=headers) rejson = json.loads(response.text) code = rejson['code'] if code == 0: print(f"av{aid}观看成功") return True print(f"av{aid}观看失败 {response}") return False def main(*args): if login(): ui = get_user_info() desp='直播签到:' str(do_sign()) '\n\n' '观看视频:' str(watch()) '\n\n' ui[0] '\n\n' ui[1] '\n\n' ui[2] '\n\n' ui[3] '\n\n' ui[4] '\n\n' pushinfo('哔哩哔哩签到成功',desp) else: pushinfo('哔哩哔哩签到失败','') if __name__ == '__main__': main()

2.修改函数配置

完成函数的创建后就进入了函数管理的界面。函数代码这里就显示了我们上传的代码文件,所有代码执行的本地路径都在/code目录下。

b站如何快速升级,全网b站永久免费入口(7)

如果有依赖模块提示没有,在下方的控制台终端输入命令也可以完成模块安装下载,所有工作目录下的代码修改,完成后都需要点击部署代码进行部署上传。

pip install -t . requests bs4

b站如何快速升级,全网b站永久免费入口(8)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.