bilibili站App端刷播放量,PC端刷播升级版,优化心跳链接、完播率,B站运营从业者福音!

8 篇文章 1 订阅
5 篇文章 1 订阅

之前的姐妹篇 :最新版B站刷播放量接口协议参数(w_rid、aid、cid、buvid3、b_lsid、cookie),加密算法全流程解析_b站播放量接口-CSDN博客

 实现了刷播的功能,  但是PC端有很多缺陷, 导致刷不动的情况, 今天带来全新升级版,解决行业痛点 !~

PC端刷播和 App刷播最大的区别在于,  PC端 从开发播放到结束播放  一个视频,期间有15次心跳握手,  你要构建15次请求,  才能刷一个播放量 ,

而App端只需要2次心跳握手,  所以,毫不留情砍掉PC端业务,  上马App刷播业务刻不容缓!!

先分析抓包的App ,  影响到视频播放量的api接口  url是这个

 

反编译App ,  发现是使用的Retrofit 网络框架 ,  hook一下 拦截器  ,看下请求头和请求体data 

   headers={
                "accept-length":"gzip",
                "content-type":"application/json; charset=utf-8",
                "user-agent": "android Mozilla/5.0 (Linux; Android 8.1.0; MI 8 Build/OPM1.171019.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36  phh_android_version/6.7.0 phh_android_build/a72fd0555b207d23fee0c81e74603d04fef3621e phh_android_channel/hw pversion/0",
                "env":"prod",
                "app-key":"android",
                "buvid":self.buvid,
                "device_id":self.device_id,
                "session_id":self.session_id,
                "fp_local":self.fp_local,
                "fp_remote":self.fp_remote,
            },

请求体是明文 ,  通过hook和验证  ,密文是通过sha256和AES两重加密生成, 中间还夹杂了请求字符串的拼接处理

算法放出来,  以飨读者:

        SALT="9cafai466a028bfb"
        KEY="fd6b635dbcf4rc0c2a1b93b389ec763c4b"
        IV="77b07asdg2d57d64c"
        def sha_256_encrypt(data_string):
            sha=hashlib.sha256()
            sha.update(data_string.encode('utf-8'))
            sha.update(SALT.encode('utf-8'))
            return sha.hexdigest()
        def aes_encrypt(data_string):
            aes=AES.new(
                key=KEY.encode('utf-8'),
                mode=AES.MODE_ECB,
                iv=IV.encode('utf-8')
            )
            raw=pad(data_string.encode('utf-8'),16)

影响视频播放增长, 设备检测信息的因素如下:

尽量让设备信息随机起来

  def  create_random_mac(self, sep=":"):  # 随机生成Mac地址
        data_list = []
        for i in range(1, 7):
            part = "".join(random.sample("0123456789ABCDEF", 2))
            data_list.append(part)
        mac = sep.join(data_list)
        return mac

心跳和完播率 :

为了让刷播效率更真实, 因为B站服务器对播放的检测是多维度的

播放时间使用该视频实际时长 !

模拟播放, 模拟观看视频 , 心跳开始,  心跳结束 (做戏做全套。)。 

最终刷播效果展现(不限播放量,  任意刷):

可对外提供测试 !! 

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python可以使用第三方库来实现对B站视频播放数据的爬取。其中,常用的库包括requests、beautifulsoup和selenium等。 1. 首先,你需要使用requests库发送HTTP请求获取B站视频页面的HTML源代码。可以使用以下代码示例: ```python import requests url = 'https://www.bilibili.com/video/BVxxxxxxxxx' # 替换为你要爬取的视频链接 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36' } response = requests.get(url, headers=headers) html = response.text ``` 2. 接下来,你可以使用beautifulsoup库解析HTML源代码,提取出需要的播放数据。可以使用以下代码示例: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') play_count = soup.find('span', class_='view').text # 获取播放 like_count = soup.find('span', class_='like').text # 获取点赞数 comment_count = soup.find('span', class_='reply').text # 获取评论数 print('播放:', play_count) print('点赞数:', like_count) print('评论数:', comment_count) ``` 3. 如果B站视频页面采用了动态加载的方式,你可能需要使用selenium库来模拟浏览器行为,确保页面完全加载后再进行数据提取。可以使用以下代码示例: ```python from selenium import webdriver url = 'https://www.bilibili.com/video/BVxxxxxxxxx' # 替换为你要爬取的视频链接 # 配置Chrome浏览器驱动路径 driver_path = 'C:/path/to/chromedriver.exe' # 替换为你的chromedriver.exe路径 driver = webdriver.Chrome(driver_path) driver.get(url) html = driver.page_source # 使用beautifulsoup解析HTML源代码,提取数据 soup = BeautifulSoup(html, 'html.parser') play_count = soup.find('span', class_='view').text # 获取播放 like_count = soup.find('span', class_='like').text # 获取点赞数 comment_count = soup.find('span', class_='reply').text # 获取评论数 print('播放:', play_count) print('点赞数:', like_count) print('评论数:', comment_count) driver.quit() # 关闭浏览器驱动 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值