五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

通過Python實現(xiàn)Bilibili用戶追番信息統(tǒng)計(分數(shù)排序、好評率統(tǒng)計)

2021-02-06 23:04 作者:萌萌噠汪帕斯  | 我要投稿

簡介:

使用bilibili_api外部庫,通過輸入用戶的uid從而讀取追番情況,將所追番劇以從高到低的分數(shù)排序展示,評價人數(shù)不足的番劇放至最后。并顯示所追番劇的優(yōu)質(zhì)率(大于等于9.5),良好率(大于等于8)。

作者介紹:

愛偶像大師,愛LoveLive!同時也是一名普通的大學生~~近來正在學習Python等知識。

歡迎關(guān)注我的個人網(wǎng)站:https://www.fyf99170.top

歡迎關(guān)注我的B站賬號:UID 32291160 萌萌噠汪帕斯


功能介紹:

今天在逛GitHub的時候,看到了由Passkou創(chuàng)建的bilibili_api的項目,該項目的介紹為:

這是一個用Python寫的調(diào)用?Bilibili?各種API的庫,范圍涵蓋視頻、音頻、直播、動態(tài)、專欄、用戶、番劇等。你可以使用很簡短的代碼去調(diào)用API,而不需要自己去尋找API,指定各種參數(shù)。

該外部庫的功能非常強大,因此我在該庫基礎(chǔ)上進行了研究。在本文中,我僅使用了該庫的user模塊,使用該模塊,通過輸入用戶的uid從而讀取追番情況,將所追番劇以從高到低的分數(shù)排序展示,評價人數(shù)不足的番劇放至最后。并顯示所追番劇的優(yōu)質(zhì)率(大于等于9.5),良好率(大于等于8)。

代碼節(jié)選如下圖所示,具體代碼見文末:


運行結(jié)果:

以我的賬號uid32291160作為示例進行展示:

從上面三圖可以看出,可以清晰的展示番劇的名稱和評分,分數(shù)由高到低排序。追番數(shù)目、優(yōu)質(zhì)番劇率和良好番劇率也能體現(xiàn)。當然,我們可以觀察其他用戶的追番情況,以uid2,bishi為示例:

注意:僅可以用戶在隱私設(shè)置中打開公開追番列表才能夠獲取到信息,我們輸入uid1發(fā)現(xiàn)無法讀取相應(yīng)信息。

可執(zhí)行文件下載(exe):

鏈接:https://pan.baidu.com/s/1wwbCnBOnJ6xkxkyWJjEjDA?

提取碼:wyjf?

解壓后打開exe文件即可使用。

代碼展示:

from bilibili_api import user ?# 調(diào)用bilibili_api


def take_second(elem):
? ?"""強制對第二個元素排序"""
? ?return elem[1]


def video_load(uid):
? ?"""用戶視頻信息讀取"""
? ?total = 0
? ?vivid_num = 0
? ?videos = []
? ?score_video_list = []
? ?no_score_video_list = []
? ?user_generator = user.get_bangumi_g(uid)
? ?for video in user_generator:
? ? ? ?videos.append(video)
? ?for bangumi in videos:
? ? ? ?title = bangumi["title"]
? ? ? ?score_pre = bangumi.get("rating", "無效")
? ? ? ?total += 1
? ? ? ?if score_pre != "無效":
? ? ? ? ? ?score = score_pre["score"]
? ? ? ? ? ?vivid_num += 1
? ? ? ? ? ?score_video_list.append((title, float(score)))
? ? ? ?else:
? ? ? ? ? ?no_score_video_list.append((title, "暫無評分"))
? ?return total, vivid_num, score_video_list, no_score_video_list


def score_soft(score_list):
? ?"""按照分數(shù)對番劇排序"""
? ?score_list.sort(key=take_second, reverse=True)
? ?return score_list


def percent_determine(score_list, no_score_list):
? ?"""優(yōu)質(zhì)率確定"""
? ?perfect_num = 0
? ?good_num = 0
? ?bad_num = 0
? ?for i in score_list:
? ? ? ?print(i[0], ":", i[1])
? ? ? ?if i[1] >= 9.5:
? ? ? ? ? ?perfect_num += 1
? ? ? ?elif 8 <= i[1] < 9.5:
? ? ? ? ? ?good_num += 1
? ? ? ?else:
? ? ? ? ? ?bad_num += 1
? ?for i in no_score_list:
? ? ? ?print(i[0], ":", i[1])
? ?return perfect_num, good_num


def main():
? ?try:
? ? ? ?uid = int(input("請輸入uid:"))
? ? ? ?total, vivid_num, score_video_list, no_score_video_list = video_load(uid)
? ? ? ?score_video_list = score_soft(score_video_list)
? ? ? ?perfect_num, good_num = percent_determine(score_video_list, no_score_video_list)
? ? ? ?print("\n用戶uid:", uid, "的追番情況如下:")
? ? ? ?print("共追番劇數(shù):", total, "有評分番劇數(shù):", vivid_num)
? ? ? ?print("優(yōu)質(zhì)番劇率:", round((perfect_num / vivid_num) * 100, 2), "%")
? ? ? ?print("良好番劇率:", round(((good_num + perfect_num) / vivid_num) * 100, 2), "%")
? ?except Exception as m:
? ? ? ?print(m)
? ?input("按下enter以結(jié)束程序")


main()

結(jié)語/致謝:

本項目使用了外部庫bilibili_api,作者為Passkou,對此表示感謝。該外部庫GitHub鏈接為https://github.com/Passkou/bilibili_api。


通過Python實現(xiàn)Bilibili用戶追番信息統(tǒng)計(分數(shù)排序、好評率統(tǒng)計)的評論 (共 條)

分享到微博請遵守國家法律
肃宁县| 宝山区| 乌审旗| 巴彦淖尔市| 万源市| 常宁市| 鹤峰县| 双鸭山市| 双柏县| 青神县| 新泰市| 华池县| 凤凰县| 内丘县| 郧西县| 乌恰县| 临清市| 巧家县| 锡林浩特市| 江达县| 家居| 泰和县| 洛宁县| 依安县| 灵台县| 浏阳市| 全椒县| 互助| 桃园市| 和平县| 漠河县| 类乌齐县| 孝感市| 张家口市| 永德县| 进贤县| 合阳县| 松阳县| 静宁县| 疏勒县| 城固县|