b站自动评论脚本,b站up主自动回复,哔哩哔哩私信评论插件【python】

b站自动评论脚本,b站up主自动回复,哔哩哔哩私信评论插件【python】

下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:1891

这个完整的B站自动化交互系统包含四个模块:主功能模块、配置文件、主程序入口和实用工具。系统实现了自动评论、UP主自动回复和私信功能,并考虑了防封禁策略。使用时需要替换config.py中的Cookie和CSRF Token等配置信息。

代码语言:txt复制

import requests

import json

import time

import random

from typing import Dict, List, Optional

class BilibiliAuto:

def __init__(self, cookies: str, csrf_token: str):

self.session = requests.Session()

self.headers = {

'User-Agent': 'Mozilla/5.0',

'Cookie': cookies,

'Referer': 'https://www.bilibili.com/'

}

self.csrf_token = csrf_token

self.base_url = 'https://api.bilibili.com'

def get_video_info(self, bvid: str) -> Dict:

url = f"{self.base_url}/x/web-interface/view?bvid={bvid}"

response = self.session.get(url, headers=self.headers)

return response.json()

def post_comment(self, bvid: str, message: str) -> Dict:

url = f"{self.base_url}/x/v2/reply/add"

data = {

'oid': self.get_video_info(bvid)['data']['aid'],

'type': 1,

'message': message,

'plat': 1,

'csrf': self.csrf_token

}

response = self.session.post(url, headers=self.headers, data=data)

return response.json()

def get_replies(self, bvid: str) -> List[Dict]:

url = f"{self.base_url}/x/v2/reply/main?oid={self.get_video_info(bvid)['data']['aid']}&type=1"

response = self.session.get(url, headers=self.headers)

return response.json()['data']['replies']

def reply_to_comment(self, bvid: str, root_id: int, parent_id: int, message: str) -> Dict:

url = f"{self.base_url}/x/v2/reply/add"

data = {

'oid': self.get_video_info(bvid)['data']['aid'],

'type': 1,

'root': root_id,

'parent': parent_id,

'message': message,

'plat': 1,

'csrf': self.csrf_token

}

response = self.session.post(url, headers=self.headers, data=data)

return response.json()

def send_private_message(self, target_id: int, message: str) -> Dict:

url = f"{self.base_url}/x/msg/web/send"

data = {

'msg[sender_uid]': self.get_self_info()['data']['mid'],

'msg[receiver_id]': target_id,

'msg[msg_type]': 1,

'msg[content]': json.dumps({'content': message}),

'csrf': self.csrf_token

}

response = self.session.post(url, headers=self.headers, data=data)

return response.json()

def get_self_info(self) -> Dict:

url = f"{self.base_url}/x/space/myinfo"

response = self.session.get(url, headers=self.headers)

return response.json()

def auto_reply_to_comments(self, bvid: str, reply_rules: Dict[str, str]) -> None:

while True:

try:

replies = self.get_replies(bvid)

for reply in replies:

if reply['member']['mid'] != self.get_self_info()['data']['mid']:

for keyword, response in reply_rules.items():

if keyword in reply['content']['message']:

self.reply_to_comment(

bvid,

reply['rpid'],

reply['rpid'],

response

)

break

time.sleep(60)

except Exception as e:

print(f"Error: {e}")

time.sleep(300)

# B站登录信息配置

COOKIES = "您的B站Cookie"

CSRF_TOKEN = "您的CSRF Token"

# 自动回复规则

REPLY_RULES = {

"你好": "你好呀!感谢支持~",

"谢谢": "不客气,欢迎常来看看!",

"加油": "谢谢鼓励,我会继续努力的!",

"up主": "我是自动回复机器人,主人马上就会看到你的消息~"

}

# 自动评论内容池

COMMENT_POOL = [

"视频很棒,支持一下!",

"内容很有价值,感谢分享!",

"学到了新知识,谢谢UP主!",

"这个视频太有趣了,哈哈哈",

"期待下一期视频!"

]

# 私信发送配置

PRIVATE_MESSAGE_TARGETS = [

12345678, # 用户ID1

87654321 # 用户ID2

]

PRIVATE_MESSAGE_CONTENT = "您好,我是B站UP主,感谢您的关注和支持!"

bilibili_auto import BilibiliAuto

from config import COOKIES, CSRF_TOKEN, REPLY_RULES, COMMENT_POOL, PRIVATE_MESSAGE_TARGETS, PRIVATE_MESSAGE_CONTENT

import time

import random

def main():

# 初始化B站自动化实例

bilibili = BilibiliAuto(COOKIES, CSRF_TOKEN)

# 目标视频BV号

target_bvid = "BV1GJ411x7h7"

# 自动评论功能

print("开始执行自动评论...")

comment = random.choice(COMMENT_POOL)

result = bilibili.post_comment(target_bvid, comment)

print(f"评论结果: {result}")

# 自动私信功能

print("\n开始执行自动私信...")

for target_id in PRIVATE_MESSAGE_TARGETS:

result = bilibili.send_private_message(target_id, PRIVATE_MESSAGE_CONTENT)

print(f"给用户{target_id}发送私信结果: {result}")

time.sleep(10) # 避免发送过快

# 自动回复功能

print("\n开始执行自动回复监控...")

bilibili.auto_reply_to_comments(target_bvid, REPLY_RULES)

if __name__ == "__main__":

main()

🎨 相关创意作品

解决网页播放【鼠标移开屏幕或点击屏外视频暂停播放】
1月24日全区版本更新公告
365bat提现

1月24日全区版本更新公告

📅 12-29 👁️ 1569
腸瘻的症狀有哪些 瞭解腸瘻出現的四個症狀
365英国官网

腸瘻的症狀有哪些 瞭解腸瘻出現的四個症狀

📅 09-24 👁️ 5421