对于基于Python对B站收藏夹按照视频发布时间进行排序这个问题,我们可以采用下列攻略进行实践:
攻略:
1. 安装Bilibili API
为了获取B站上的视频信息,我们需要使用第三方Bilibili API库。可通过如下命令安装:
pip install bilibili_api
2. 获取收藏夹中视频
使用Bilibili API,我们可以获取到收藏夹中的所有视频信息。样例代码如下:
from bilibili_api import user
# 填写cookie
cookie = ""
# 收藏夹ID
fav_id = 0000000
# 获取收藏夹信息
user_obj = user.User(cookie)
fav_videos = user_obj.get_fav_videos(fav_id)
其中cookie需要在登录后从浏览器中获取,fav_id
部分需要替换成目标收藏夹的id。fav_videos
数组中包含了该收藏夹下的所有视频信息。
3. 获取每个视频发布时间
获取每个视频的发布时间需要调用Bilibili API中的 bilibili_api.video.Video.request_video_playurl()
函数。以下为示例代码:
from bilibili_api import video
# 填写cookie
cookie = ""
# 视频AV号
aid = 00000000
# 通过AV号获取视频信息
video_obj = video.Video(cookie, aid)
video_info = video_obj.get_video_info()
# 获取发布时间
time = video_info['pubdate']
其中cookie需要在登录后从浏览器中获取,aid
部分需要替换为目标视频的AV号。time
变量返回的是unix时间戳格式的视频发布时间。
4. 排序
通过获取到的每个视频的发布时间,可以将收藏夹按照视频发布时间进行排序。示例代码如下:
# 按发布时间从早到晚排序
fav_videos.sort(key=lambda x: x['add_time'])
# 按发布时间从晚到早排序
fav_videos.sort(key=lambda x: x['add_time'], reverse=True)
其中fav_videos
含有收藏夹下所有视频信息,key
函数中 lambda x: x['add_time']
表示按照每个视频的 add_time
(即加入时间)进行排序。
示例:
以下示例展示了如何获取收藏夹中的视频信息及按视频发布时间对收藏夹进行排序。
from bilibili_api import user
# 填写cookie
cookie = ""
# 收藏夹ID
fav_id = 17485095
# 获取收藏夹信息
user_obj = user.User(cookie)
fav_videos = user_obj.get_fav_videos(fav_id)
# 按发布时间从早到晚排序
fav_videos.sort(key=lambda x: x['add_time'])
# 输出收藏夹中排好序的所有视频标题及发布时间
for video in fav_videos:
print("{} - 发布时间:{}".format(video['title'], video['add_time']))
输出结果示例:
【温馨广场舞】皮皮虾,你是我的小呀小葫芦娃 - 发布时间:1452083638
Redbone on guitar - 发布时间:1479242568
荒野行动 神仙覆盖 天下第一 - 发布时间:1513710280
【快本】那英完整版高清@谢娜小S抱娃 - 发布时间:1517407625
吴亦凡秒变小王子,还原快闪歌单《我5岁时就很酷》 - 发布时间:1523964208
【清明上河图】一起飞 - 发布时间:1529022590
日常有一群气质极好的英国人陪我喝下午茶 不得不说回头率真的蛮高的 - 发布时间:1542995125
基于python对B站收藏夹按照视频发布时间进行排序的问题 - 发布时间:1567720246
以上示例通过 get_fav_videos()
函数获取一个收藏夹信息,按照视频 add_time
从早到晚排序,并输出所有视频的标题及发布时间。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于python对B站收藏夹按照视频发布时间进行排序的问题 - Python技术站