b站升級的等級 b站怎么升級

在 B 站上看了進擊的金廠長的投稿的視頻如:B 界等級修仙傳,B 界等級修魔傳等,覺得 B 站升級對小編這種白嫖黨 + 懶癌黨太不友好了,就碼了這篇 B 站升級腳本 。
獲取個人信息用自己的賬號登錄到 B 站并打開個人頁面,按 F12 控制面板 。 可以找到一個 https://api.bilibili.com/x/space/myinfo?jsonp=jsonp&callback=__jp0 的地址,從相應的返回值來看,這就是個人資料的請求地址 。 并且把請求頭中的 cookie 復制到代碼中,讓我們可以正常用代碼登錄 B 站 。

b站升級的等級 b站怎么升級

文章插圖
這里的 cookie 是一串字符串,在 requests.get() 請求的時候肯定是要轉換為字典類型的 。 其中一個 bili_jct 比較關鍵,在后續操作中將被用到 。
def convert_cookies_to_dict(cookies): cookies = dict([l.split("=", 1) for l in cookies.split("; ")]) return cookies下面代碼就用上面轉換成字典的 cookie 獲取 B 站的個人資料 。
def getInfo(cookie): url = "http://api.bilibili.com/x/space/myinfo" resp = requests.get(url, cookies=cookie).text myinfo = json.loads(resp) data = https://www.wenanka.com/post/myinfo['data'] mid = data['mid'] name = data['name'] level_exp = data['level_exp'] current_level = level_exp['current_exp'] current_exp = level_exp['current_exp'] next_exp = level_exp['next_exp'] sub_exp = int(next_exp) - int(current_exp) days = int(int(sub_exp)/70) coin = data['coins'] print("{},你的等級是{},當前經驗是{},下一級經驗是{},還需要{}天升級,有{}個硬幣".format(name, current_level,current_exp,next_exp,days,coin))觀看視頻因為小編實在是不想解析頁面,就在網上找了一個 B 站的 http://api.bilibili.cn/recommend 接口來獲取視頻地址 。 返回值是一個 json 串,這里面有 aid 和 bvid 。
def getVideo(cookie): url = "http://api.bilibili.cn/recommend" resp = requests.get(url, cookies=cookie).text data = https://www.wenanka.com/post/json.loads(resp) list_length = len(data['list']) result = [] for i in range(list_length): bvid = data['list'][i]['bvid'] aid = data['list'][i]['aid'] result.append({'bvid': bvid, 'aid': aid}) return result獲取到 aid 和 bvid 后,打開播放視頻頁面會有發送心跳鏈接到服務器,這個應該可以看做是看過視頻的 。

b站升級的等級 b站怎么升級

文章插圖
【b站升級的等級 b站怎么升級】def view(bvid, aid, bili_jct, playedTime): url = "https://api.bilibili.com/x/click-interface/web/heartbeat" header = { "origin": "https://www.bilibili.com", "referer": "https://www.bilibili.com/video/"+bvid, "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36", "cookie": cookies } data = https://www.wenanka.com/post/{'aid': aid, 'bvid': bvid, 'played_time': playedTime, 'csrf': bili_jct } resp = requests.post(url, data = https://www.wenanka.com/post/data ,headers=header).text json_data = json.loads(resp) code = json_data['code'] time.sleep() if code == 0: print('視頻觀看成功,bvid 號為:' + bvid) else: print('視頻觀看失敗,bvid 號為:' + bvid)投幣投幣比較簡單,只有 4 個參數,但是每天就只能投 5 個幣,得 50 經驗 。

b站升級的等級 b站怎么升級

文章插圖
def coin(bvid, aid, csrf): url = "https://api.bilibili.com/x/web-interface/coin/add" data = https://www.wenanka.com/post/{'aid': aid, 'multiply': 1, 'select_like': 1, 'cross_domain': 'true', 'csrf': csrf } header = { "origin": "https://www.bilibili.com", "referer": "https://www.bilibili.com/video/"+bvid, "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36", "cookie": cookies } resp = requests.post(url, headers=header, data=https://www.wenanka.com/post/data).text data = json.loads(resp) code = data['code'] if code == 0: print("投幣成功") else: print('投幣失敗')分享視頻在分享到動態的時候,可以看到有一個 share 的地址,然后小編就用這個試了好幾次都沒有成功,只能求助萬能的 github 。

b站升級的等級 b站怎么升級

文章插圖
上面這個地址沒成功,都是分享失敗,下面的截圖是 github 的,分享成功 。

b站升級的等級 b站怎么升級

文章插圖
def share( bvid, csrf): url = 'https://api.bilibili.com/x/web-interface/share/add' data = https://www.wenanka.com/post/{'csrf': csrf, 'bvid': bvid } header = { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8', "Connection": "keep-alive", "origin": "https://t.bilibili.com", "referer": 'https://t.bilibili.com', "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36", "cookie": cookies } resp = requests.post(url, data=https://www.wenanka.com/post/data, headers=header).text json_data = json.loads(resp) code = json_data['code'] if code == 0: print('視頻分享成功') else: print('視頻分享失敗')

推薦閱讀