B站动态转发抽奖脚本+教程

如题所述

第1个回答  2024-04-16
在B站世界中,动态分享抽奖已经成为粉丝互动的热门活动。本文将带你深入了解如何使用Python脚本来自动化这个过程,包括转发计数和幸运用户私信的发送。请注意,B站API并不提供所有用户数据,因此在大量用户参与时可能无法适用。
首先,让我们掌握基本的步骤。为了运行脚本,你需要具备Python 2的环境,因为脚本是针对Python 2编写的。从官网下载并配置好环境变量至关重要。以下是操作指南:
1. **下载Python 2**:访问Python官网下载并安装最新版本,确保环境变量已配置。
2. **配置环境变量**:在命令提示符中,输入`chcp 65001`设置编码,然后`set PYTHONIOENCODING=utf-8`以处理中文字符。
3. **创建脚本**:在桌面上创建一个名为"抽奖.py"的文本文件,确保扩展名可见。你可以参考Hack Inn大佬的脚本,链接已删除,但可以搜索相关教程。
4. **修改脚本**:将脚本中的关键代码片段粘贴到文档中,如获取动态详情的函数,数据库查询和随机抽取用户ID的部分。
以下是一段简化后的核心代码:
```html
源码核心部分:

```python
def get_info_and_send_msg(Dynamic_id):
BiliJson = ... # 从API获取动态详情,获取转发数和UP主UID
Total_count = BiliJson['data']['card']['desc']['repost']
UP_UID = BiliJson['data']['card']['desc']['user_profile']['info']['uid']
Bilibili_Doge = random.randint(0, Bilibili_Key)
if check_user(Bilibili_Doge):
user_info = ... # 从数据库查询用户信息
send_private_msg(user_info)
def check_user(Doge_ID):
res = ... # 检查ID是否存在数据库
return len(res) > 0
def send_private_msg(user_info):
user_id, uname, comment = user_info
print(f"用户ID: {user_id}, 用户名: {uname}, 转发详情: {comment}")
send_link = input(TellTime() + "是否发送私信? (Y/N): ")
if send_link.lower() in ['y', 'yes', '是']:
webbrowser.open(f"https://message.bilibili.com/#/whisper/mid{user_id}")
# 调用函数
GetTotalRepost() # 获取总转发数
GetLuckyDog() # 抽取幸运用户
```

在实际操作中,将动态链接粘贴到命令行中,运行`python 抽奖.py`。执行后,脚本会统计转发次数,找到中奖用户,询问是否发送私信。如果你想查看数据库中的用户信息,可以使用SQLiteSpy等工具打开Bilibili_TMP.db文件。
为了更顺利地参与抽奖,确保你理解了脚本的工作原理,并根据需求进行相应的调整。同时,遇到编码问题时,可以查阅相关文档或咨询作者Love丶伊卡洛斯,Q群587663288。
抽奖抽奖,乐趣无穷,现在就来体验一下吧!