哔哩哔哩自动批量删除抽奖动态解析篇(三)

前面两节已经介绍了如何获取抽奖动态列表和根据动态id_str索引值判断是否开奖了,接下来我们要完成的就是删除已经开奖了的动态

一、删除已经开奖的抽奖动态

老规矩,我们按F12健进入网页源代码,删除一条动态,观察网络接口
在这里插入图片描述
在这里插入图片描述
这次的网络接口不多,很方便我们就找到了对应的api接口,是通过https://api.bilibili.com/x/dynamic/feed/operate/remove删除动态的,右键复制脚本到Convert curl commands to Python, JavaScript and more生成python代码

params = {
    'platform': 'web',
    'csrf': '21de42957e8840dd09d8bdb2c08c3c2a',
}

json_data = {
    'dyn_id_str': '979844003494101013',
    'dyn_type': 4,
    'rid_str': '979844003494101013',
}

1、代码分析

观察代码,我们本次主要需要修改的是dyn_id_str和rid_str两个值,其实两个值都是一样的,这里只需要传入我们前文获得的动态列表中的id_str即可,也不用过多分析了,撸起袖子开干就行。

2、代码实现

def remove(id_str):
    sleep_time = random.randint(1, 4)#随机停滞1-4秒
    time.sleep(sleep_time)
    params = {
        'platform': 'web',
        'csrf': crsf,
    }

    json_data = {
        'dyn_id_str': id_str,
        'dyn_type': 1,
        'rid_str': id_str,
    }
    response = requests.post(
        'https://api.bilibili.com/x/dynamic/feed/operate/remove',
        params=params,
        cookies=cookies,
        headers=headers,
        json=json_data,
    )

编写remove函数,以便复用,通过传入参数id_str实现删除动态的功能,到这里我们删除动态的功能就都实现了,因为我们编写的是三个函数,因此,下一节我们来把三个函数组装起来。

哔哩哔哩自动批量删除抽奖动态——使用篇
哔哩哔哩自动批量删除抽奖动态解析篇(一)
哔哩哔哩自动批量删除抽奖动态解析篇(二)
哔哩哔哩自动批量删除抽奖动态解析篇(三)
哔哩哔哩自动批量删除抽奖动态解析篇(四)

你可以使用 Python 的 requests 库和 BeautifulSoup 库来实现这个爬虫。首先,你需要使用 requests 库向动态页面发送 GET 请求,获取动态页面的 HTML 代码。然后,你可以使用 BeautifulSoup 库解析 HTML 代码,找到抽奖相关的信息,比如抽奖的标题、抽奖的链接等等。最后,你可以使用 requests 库向抽奖链接发送 POST 请求,完成自动转发抽奖的操作。 具体的代码实现可以参考以下的示例: ```python import requests from bs4 import BeautifulSoup # 设置请求头,模拟浏览器访问 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 发送 GET 请求,获取动态页面的 HTML 代码 url = 'https://t.bilibili.com/' response = requests.get(url, headers=headers) html = response.text # 使用 BeautifulSoup 解析 HTML 代码,找到抽奖相关的信息 soup = BeautifulSoup(html, 'html.parser') lottery_title = soup.find('div', class_='card-title').text lottery_link = soup.find('a', class_='card-image')['href'] # 发送 POST 请求,完成自动转发抽奖的操作 data = { 'title': lottery_title, 'link': lottery_link, 'action': 'enter', 'csrf': 'xxxxxxxxxxxxxxxxxxxxx' # 这里需要填写你的 CSRF token } response = requests.post('https://t.bilibili.com/lottery/handler/Join', headers=headers, data=data) ``` 需要注意的是,这个示例中的 CSRF token 需要你自己从动态页面中获取。你可以使用浏览器的开发者工具,在 Network 标签页中找到抽奖链接对应的请求,然后在 Headers 标签页中找到 CSRF token。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值