亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2021年02月05日 10:50:05   作者:nbody1996  
這篇文章主要介紹了Biblibili視頻投稿接口分析并以Python實現(xiàn)自動投稿功能,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

項目地址:https://gitee.com/nbody1996/bilibili_video_uploader

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

獲取登錄Cookies

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

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

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

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

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

解決方案:

  1. 可用requests.Session.cookies = requests.utils.cookiejar_from_dict設(shè)置Cookies,將在以后請求會話中保持
  2. 可用requests.Session.headers = {'User-Agent':'???'}設(shè)置UA,將在以后請求會話中保持

preupload預(yù)上傳

請求方法GET

請求接口https://member.bilibili.com/preupload

請求體:

響應(yīng)體:

請求體解決方案:

  1. name參數(shù)可由os.path.basenamepathlib.Path.name屬性獲得
  2. size參數(shù)可由os.path.getsizepathlib.Path.stat().st_size獲得

step1 準(zhǔn)備上傳視頻

請求方法POST

請求接口https://upos-sz-upcdnbda2.bilivideo.com/[upos_uri]

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

請求頭:

請求體:

響應(yīng)體:

step2 分批上傳視頻

重難點

請求方法PUT

請求接口同step1接口

請求頭同step1接口

請求體(分兩個部份):

請求體解決方案:

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

  • chunks總批次根據(jù)preupload響應(yīng)體中chunk_size參數(shù)計算得出,通過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é)位置,對應(yīng)startend參數(shù)
  • 在循環(huán)中改變partNumberchunk、chunkssize、startend參數(shù)
  • read讀出的字節(jié)通過requests.put的data參數(shù)傳遞過去

step3 通知上傳完畢

請求方法POST

請求接口同step1接口

請求頭同step1接口

請求體(分兩個部份):

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

請求體解決方案:

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

輪詢獲取視頻封面

請求方法GET

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

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

響應(yīng)體:

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

選擇推薦分區(qū)

請求方法GET

請求接口https://member.bilibili.com/x/web/archive/typeid

請求體:

PS:

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

響應(yīng)體:

選擇推薦標(biāo)簽

請求方法GET

請求接口https://member.bilibili.com/x/web/archive/typeid

請求體:

響應(yīng)體:

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

預(yù)發(fā)布

請求方法GET

請求接口https://member.bilibili.com/x/geetest/pre/add

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

發(fā)布視頻

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

請求方法POST

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

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

請求體(JSON):

自制類型的視頻請求體與上圖有些許差別:

  • 因為source是只針對于轉(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

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

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

相關(guān)文章

  • Python利用物理引擎Pymunk編寫一個解壓小游戲

    Python利用物理引擎Pymunk編寫一個解壓小游戲

    這篇文章主要為大家詳細介紹了Python如何利用物理引擎Pymunk編寫一個解壓小游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2023-01-01
  • Python MongoDB 插入數(shù)據(jù)時已存在則不執(zhí)行,不存在則插入的解決方法

    Python MongoDB 插入數(shù)據(jù)時已存在則不執(zhí)行,不存在則插入的解決方法

    這篇文章主要介紹了Python MongoDB 插入數(shù)據(jù)時已存在則不執(zhí)行,不存在則插入的解決方法,結(jié)合實例形式分析了Python基于日志判斷數(shù)據(jù)是否已經(jīng)插入的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • echarts折線圖的每個折點都顯示數(shù)值的實現(xiàn)方式

    echarts折線圖的每個折點都顯示數(shù)值的實現(xiàn)方式

    這篇文章主要介紹了echarts折線圖的每個折點都顯示數(shù)值的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Python序列化pickle模塊使用詳解

    Python序列化pickle模塊使用詳解

    這篇文章主要介紹了Python序列化pickle模塊使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)創(chuàng)建快速剪映草稿軌道自動生成視頻

    Python實現(xiàn)創(chuàng)建快速剪映草稿軌道自動生成視頻

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)創(chuàng)建快速剪映草稿軌道并自動生成視頻,文中的示例代碼講解詳細,需要的可以參考一下
    2023-08-08
  • 如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    ajax一個前后臺配合的技術(shù),它可以讓javascript發(fā)送http請求,與后臺通信,獲取數(shù)據(jù)和信息。下面這篇文章主要介紹了如何利用AJAX獲取Django后端數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python OpenCV實現(xiàn)圖片上輸出中文

    Python OpenCV實現(xiàn)圖片上輸出中文

    這篇文章主要為大家詳細介紹了Python OpenCV實現(xiàn)圖片上輸出中文,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python如何制作縮略圖

    python如何制作縮略圖

    python如何制作縮略圖?這篇文章主要為大家詳細介紹了python制作縮略圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 實例介紹Python中整型

    實例介紹Python中整型

    在本篇內(nèi)容中我們通過實例分享了關(guān)于Python中整型的相關(guān)知識點內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • Python之os模塊案例詳解

    Python之os模塊案例詳解

    這篇文章主要介紹了Python之os模塊案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評論