python实现b站视频自动评论

因为晚上喝了杯茶,反正都睡不着了,突发奇想写一个脚本
注意:这里的headers中的两个参数请读者根据自己的来填写,笔者这里留了空,直接复制代码是运行不了的(cookies涉及到个人隐私)
代码如下:

'''
* author:junqian
* date:2022/12/17 2:26
'''

import requests
import pprint
import re
import random
import time

headers = {  # 请求头
    'cookie': ,
    'user-agent': 
}


def get_res(html_url):  # 得到视频的页面数据

    res = requests.get(url=html_url, headers=headers)
    return res


def get_video_bv(html_url):  # 得到视频的bv号
    res = get_res(html_url)

    json_data = res.json()
    v_list = json_data['data']['list']['vlist']
    v_list = [i['bvid'] for i in v_list]  # 列表推导式
    # print(v_list)
    # pprint.pprint(res.json())
    return v_list


def get_video_oid(video_bvid):
    # 获取视频的oid
    video_url = f'https://www.bilibili.com/video/{video_bvid}'
    res = get_res(video_url)
    # \d+ 匹配多个数字
    oid = re.findall('<script>window\.__INITIAL_STATE__={"aid":(\d+),', res.text)[0]
    return oid


def comment(oid):
    comment_list = ['太棒啦', '来惹来惹', '一键三连!']
    content = random.choice(comment_list)  # 随机在comment_list中选择一条进行评论
    comment_url = 'https://api.bilibili.com/x/v2/reply/add'  # 通过开发者工具得到评论的接口
    data = {  # 参数
        'csrf': 'e88e2d022602d700ebb5fe54a3ae16dc',
        'message': content,
        'oid': oid,
        'plat': 1,
        'type': 1
    }
    res = requests.post(url=comment_url, headers=headers, data=data)
    status_code = res.status_code
    print(status_code)
    return status_code


url = "https://api.bilibili.com/x/space/wbi/arc/search?mid=519600563&pn=1&ps=25&index=1&order=pubdate&order_avoided=true&w_rid=3578c8880ef909b090c87cde8e1e9121&wts=1671211621"
v_list = get_video_bv(url)
for index in v_list:
    time.sleep(3)
    oid = get_video_oid(index)
    status_code = comment(oid)
    if status_code == 200:
        print(f'{index}评论成功')
    else:
        print(f'{index}似乎被反爬了')

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是君倩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值