色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

瀏覽:3日期:2022-06-28 11:51:24

B站視頻發(fā)布接口分析

項(xiàng)目地址:https://gitee.com/nbody1996/bilibili_video_uploader

視頻地址:https://www.bilibili.com/video/BV1qt4y1v76u/

獲取登錄Cookies

請(qǐng)求要帶著登錄成功后關(guān)鍵Cookies,才能被B站后臺(tái)認(rèn)為是已登錄的狀態(tài)。

研究發(fā)現(xiàn),以下兩個(gè)是必要的:

SESSDATA(session會(huì)話cookies, 相當(dāng)于登錄憑證) bili_jct(防CSRF攻擊)

這兩個(gè)都能在瀏覽器開發(fā)者工具(F12)中查看到,比如在谷歌瀏覽器中:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

然后將這兩個(gè)值復(fù)制下來,在接下來的請(qǐng)求中cookies帶上這兩個(gè)值即可保持登錄狀態(tài)

解決方案:

可用requests.Session.cookies = requests.utils.cookiejar_from_dict設(shè)置Cookies,將在以后請(qǐng)求會(huì)話中保持 可用requests.Session.headers = {’User-Agent’:’???’}設(shè)置UA,將在以后請(qǐng)求會(huì)話中保持preupload預(yù)上傳

請(qǐng)求方法: GET

請(qǐng)求接口: https://member.bilibili.com/preupload

請(qǐng)求體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

響應(yīng)體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

請(qǐng)求體解決方案:

name參數(shù)可由os.path.basename或pathlib.Path.name屬性獲得 size參數(shù)可由os.path.getsize或pathlib.Path.stat().st_size獲得step1 準(zhǔn)備上傳視頻

請(qǐng)求方法: POST

請(qǐng)求接口: https://upos-sz-upcdnbda2.bilivideo.com/[upos_uri]

替換上面[upos_uri]為preupload預(yù)上傳接口響應(yīng)體中upos_uri的upos://的后面部份,比如https://upos-sz-upcdnbda2.bilivideo.com/ugcboss/m201010a23h35mci3cejzh2xe4a6gwq1.mp4

請(qǐng)求頭:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

請(qǐng)求體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

響應(yīng)體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

step2 分批上傳視頻

重難點(diǎn)

請(qǐng)求方法: PUT

請(qǐng)求接口: 同step1接口

請(qǐng)求頭: 同step1接口

請(qǐng)求體(分兩個(gè)部份):

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

請(qǐng)求體解決方案:

params參數(shù)通過requests.put的params參數(shù)傳遞,payload通過requests.put的data參數(shù)傳遞

chunks總批次根據(jù)preupload響應(yīng)體中chunk_size參數(shù)計(jì)算得出,通過math.ceil(filesize/chunk_size)向上取整。得到chunks后,在循環(huán)中改變partNumber、chunk兩者 內(nèi)置函數(shù)open獲得視頻文件IO流。read(size=chunk_size)方法獲得指定大小的視頻字節(jié),并通過內(nèi)置函數(shù)len獲得當(dāng)前批次字節(jié)數(shù)size參數(shù)。tell方法獲取當(dāng)前字節(jié)位置,對(duì)應(yīng)start與end參數(shù) 在循環(huán)中改變partNumber、chunk、chunks、size、start和end參數(shù) 將read讀出的字節(jié)通過requests.put的data參數(shù)傳遞過去step3 通知上傳完畢

請(qǐng)求方法: POST

請(qǐng)求接口: 同step1接口

請(qǐng)求頭: 同step1接口

請(qǐng)求體(分兩個(gè)部份):

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

PS: 上圖沒有用框框住的參數(shù),都是固定寫死

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

請(qǐng)求體解決方案:

json形式的請(qǐng)求體可以用requests.post的json參數(shù)傳遞

輪詢獲取視頻封面

請(qǐng)求方法: GET

請(qǐng)求接口: https://member.bilibili.com/x/web/archive/recovers?fns=[bfilename]

注意把[bfilename]替換成在B站的視頻文件名

響應(yīng)體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

解決方案: 因?yàn)橐却鼴站后端處理好封面圖片,所以這一步需要隔一段時(shí)間就訪問一下該接口,直到響應(yīng)體的data字段不是空列表時(shí)結(jié)束輪詢

選擇推薦分區(qū)

請(qǐng)求方法: GET

請(qǐng)求接口: https://member.bilibili.com/x/web/archive/typeid

請(qǐng)求體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

PS:

groupid不清楚干嘛用的, 目前遇到可以固定是0或1 vfea不清楚干嘛用的, 空字符串即可

響應(yīng)體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

選擇推薦標(biāo)簽

請(qǐng)求方法: GET

請(qǐng)求接口: https://member.bilibili.com/x/web/archive/typeid

請(qǐng)求體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

響應(yīng)體:

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

PS: 可以用列表推導(dǎo)式將標(biāo)簽字符串存于列表中,再用字符串join方法用英文逗號(hào)拼接

預(yù)發(fā)布

請(qǐng)求方法: GET

請(qǐng)求接口: https://member.bilibili.com/x/geetest/pre/add

PS: 沒啥好講的, 直接get這個(gè)鏈接,它的響應(yīng)體也沒什么有用的東西

發(fā)布視頻

經(jīng)過前面的'過五關(guān)斬六將',終于到了最后一步了

請(qǐng)求方法: POST

請(qǐng)求接口: https://member.bilibili.com/x/vu/web/add?csrf=[bili_jct]

注意替換鏈接中csrf參數(shù)為bili_jct(一開始需要的兩個(gè)Cookies的中其一)

請(qǐng)求體(JSON):

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

自制類型的視頻請(qǐng)求體與上圖有些許差別:

因?yàn)閟ource是只針對(duì)于轉(zhuǎn)載類型視頻的,所以自制類型視頻不需要攜帶該參數(shù) 新增interactive參數(shù),取值0或1,貌似是跟允許觀眾投稿字幕有關(guān) 新增no_reprint參數(shù),取值0或1,貌似是跟自制聲明有關(guān) 最重要的是聲明版權(quán),改變copyright為1即可

完整代碼

Talk is cheap, Show me the code

Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能

戳它: https://gitee.com/nbodyfun/bilibili_video_uploader/raw/master/bilibili_up.py

到此這篇關(guān)于Biblibili視頻投稿接口分析并以Python實(shí)現(xiàn)自動(dòng)投稿功能的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)自動(dòng)投稿內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产日韩欧美swag在线观看 | 1717she国产精品免费视频 | 好湿好紧好痛a级是免费视频 | 欧美顶级毛片在线播放 | 欧美高清一区二区三区欧美 | 色久综合网| 国产日产亚洲精品 | 欧美成人自拍 | 午夜美女影院 | 女人被男人躁得好爽免费视频免费 | 亚洲最大看欧美片网站 | 亚洲女精品一区二区三区 | 日韩精品视频一区二区三区 | 美女黄页网站免费进入 | 久久国产成人亚洲精品影院老金 | 精品久久久久久久九九九精品 | 日韩一级在线视频 | 一级做a爱片特黄在线观看免费看 | 老少配性xxxxxx | 国产精品18久久久久久vr | 九九视频免费观看 | 亚洲精品福利一区二区三区 | 国产精品自拍视频 | 国产成人咱精品视频免费网站 | 特黄aa级毛片免费视频播放 | 欧美一级在线播放 | 大黄一级片 | 亚洲高清一区二区三区久久 | 久久亚洲精品视频 | 国产理论在线观看 | 午夜视频在线观看一区二区 | 欧美激情伦妇在线观看 | 久久久久国产精品美女毛片 | a级精品九九九大片免费看 a级毛片免费观看网站 | 国产精品久久久一区二区三区 | 日韩免费一级a毛片在线播放一级 | 国产精品jvid在线观看 | 曰本美女高清在线观看免费 | 女人张开腿让男人 | 视频在线一区二区 | 国产中的精品一区的 |