B 站批量删除动态—Python

一、抓包

 

1.1 删除动态包

 

 

 

POST 请求       https://api.bilibili.com/x/dynamic/feed/operate/remove?platform=web&csrf=3bdb2bda73e3d6f75ea991167fb39389

请求表单数据 {"dyn_id_str":"967767049365356551","dyn_type":1,"rid_str":"967767049365356551"}

csrf——从登录 Cookie 中获取

dyn_id_str、rid_str——动态 id

dyn_type——1: 删除

响应结果

 

 

 

b 站协议所有出现这样的响应都表示成功

 1.2 动态协议获取包

GET 请求    https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?offset=&host_mid=484733984&timezone_offset=-480&platform=web&features=itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,decorationCard,forwardListHidden,ugcDelete,onlyfansQaCard&web_location=333.999&dm_img_list=[{“x”:3837,”y”:2839,”z”:0,”timestamp”:1813,”k”:110,”type”:0},{“x”:3053,”y”:1798,”z”:10,”timestamp”:1915,”k”:70,”type”:0},{“x”:2601,”y”:1627,”z”:49,”timestamp”:2015,”k”:102,”type”:0},{“x”:2645,”y”:1677,”z”:98,”timestamp”:2120,”k”:109,”type”:0},{“x”:2434,”y”:1419,”z”:5,”timestamp”:2235,”k”:109,”type”:0},{“x”:2809,”y”:1817,”z”:472,”timestamp”:2338,”k”:94,”type”:0},{“x”:2862,”y”:1896,”z”:654,”timestamp”:2437,”k”:97,”type”:0},{“x”:2365,”y”:1365,”z”:328,”timestamp”:2539,”k”:97,”type”:0},{“x”:2300,”y”:1293,”z”:284,”timestamp”:2639,”k”:112,”type”:0},{“x”:2543,”y”:1543,”z”:529,”timestamp”:2827,”k”:87,”type”:0},{“x”:2392,”y”:1402,”z”:371,”timestamp”:2930,”k”:66,”type”:0},{“x”:2087,”y”:1147,”z”:77,”timestamp”:3033,”k”:94,”type”:0},{“x”:3211,”y”:2320,”z”:1215,”timestamp”:3136,”k”:109,”type”:0},{“x”:2081,”y”:1123,”z”:1252,”timestamp”:3866,”k”:65,”type”:0},{“x”:970,”y”:14,”z”:365,”timestamp”:3966,”k”:119,”type”:0},{“x”:739,”y”:-218,”z”:137,”timestamp”:4069,”k”:103,”type”:0},{“x”:2107,”y”:1149,”z”:1485,”timestamp”:4168,”k”:71,”type”:0},{“x”:2200,”y”:1152,”z”:1503,”timestamp”:4271,”k”:88,”type”:0},{“x”:2564,”y”:917,”z”:1617,”timestamp”:4372,”k”:118,”type”:0},{“x”:2976,”y”:1168,”z”:1983,”timestamp”:4474,”k”:63,”type”:0},{“x”:2546,”y”:692,”z”:1553,”timestamp”:4576,”k”:63,”type”:0},{“x”:2798,”y”:943,”z”:1808,”timestamp”:4677,”k”:94,”type”:0},{“x”:1185,”y”:-670,”z”:195,”timestamp”:4779,”k”:60,”type”:1},{“x”:3068,”y”:1214,”z”:2075,”timestamp”:4957,”k”:83,”type”:0},{“x”:2085,”y”:264,”z”:809,”timestamp”:5060,”k”:122,”type”:0},{“x”:4167,”y”:2963,”z”:189,”timestamp”:5161,”k”:71,”type”:0},{“x”:4430,”y”:3261,”z”:347,”timestamp”:5263,”k”:126,”type”:0}]&dm_img_str=V2ViR0wgMS&dm_cover_img_str=QU5HTEUgKE5WSURJQSwgTlZJRElBIEdlRm9yY2UgODgwMCBHVFggRGlyZWN0M0QxMSB2c181XzAgcHNfNV8wKSwgb3Igc2ltaWxhckdvb2dsZSBJbmMuIChOVklESU&dm_img_inter={“ds”:[{“t”:0,”c”:””,”p”:[333,111,111],”s”:[166,4830,2444]}],”wh”:[3685,4015,55],”of”:[357,714,357]}&x-bili-device-req-json={“platform”:”web”,”device”:”pc”}&x-bili-web-req-json={“spm_id”:”333.999″}&w_rid=7661ecebb3082069024a0b5211a8d40b&wts=1727231810

 

dm_img_list

dm_img_str

dm_cover_img_str

dm_img_inter

w_rid

wts

涉及到的算法较多

响应结果

 

 

id_str—— 删除动态所需要的 id

二、Python 实现

2.1 动态 id

def get_act_data(cookie, dm_img_list, dm_img_str, dm_cover_img_str, dm_img_inter, w_rid, wts):
    url = "https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space"
    # 构造请求参数
    params = {
        "offset": "",
        "host_mid": "484733984",
        "timezone_offset": "-480",
        "platform": "web",
        "features": "itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,decorationCard,forwardListHidden,ugcDelete,onlyfansQaCard",
        "web_location": "333.999",
        "dm_img_list": dm_img_list,
        "dm_img_str": dm_img_str,
        "dm_cover_img_str": dm_cover_img_str,
        "dm_img_inter": dm_img_inter,
        "x-bili-device-req-json": '{"platform":"web","device":"pc"}',
        "x-bili-web-req-json": '{"spm_id":"333.999"}',
        "w_rid": w_rid,
        "wts": wts
    }
    # 构造请求头,cookie
    headers = {
        "Cookie": cookie
    }
    # 发送GET请求
    response = requests.get(url, params=params, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        return '获取失败'

2.2 删除动态

 

def remove(cookie, csrf, dyn_id_str, rid_str):
    url = "https://api.bilibili.com/x/dynamic/feed/operate/remove"
    # 请求参数
    params = {
        "platform": "web",
        "csrf": csrf
    }
    # 表单数据
    data = {
        "dyn_id_str": dyn_id_str,
        "dyn_type": 1,
        "rid_str": rid_str
    }
    # 请求头,cookie
    headers = {
        "Cookie": cookie,
        "Content-Type": "application/x-www-form-urlencoded"
    }
    # 发送POST请求
    response = requests.post(url, params=params, data=data, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        return "删除失败"
获取资源前请仔细阅读一下声明:

重要提示

如有解压密码: 看下载页、看下载页、看下载页。
源码工具资源类具有可复制性: 建议具有一定思考和动手能力的用户购买。
请谨慎考虑: 小白用户和缺乏思考动手能力者不建议赞助。
虚拟商品购买须知: 虚拟类商品,一经打赏赞助,不支持退款。请谅解,谢谢合作!
声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。