Python实现bilibili时间长度查询的示例代码_python

来源:脚本之家  责任编辑:小易  

bilibili硬币获得渠道:1、会员等级>=Lv1且绑定手机时,每天登录后可领取登录硬币奖励。2、UP主可通过投稿视频来获得更多硬币(观众投币的百分之十将作为UP主的硬币收入奖励)。3、会员等级=Lv0时,将无法获得硬币登录奖励。4、硬币=100积分积分=每日上线每天登陆一次+40积分(到次日0点会统一发放),每天登陆上限得分为40(原为20)。扩展资料bilibili硬币的用途:1、用于支持喜欢的视频,影响视频相关排名。2、用于商城购买物品。一种是购买用于装饰头像的边框,一种是购买B站的邀请码。3、用于修改昵称。4、用于购买收藏上限。5、用于活动抽奖。参考资料来源:哔哩哔哩-硬币相关(第1点)www.zgxue.com防采集请勿采集本网。

说明:最近在B站看一些材料力学视频时候,感觉有一些分集狂魔的分集真的很恐怖,有的甚至上百集,因此决定写个小脚本每次分析下到底这个系列视频到底有多长。

好了,下面是分析过程:

第一步当然是打开一个视频

接着第二部右键查看源代码

既然我们是要查找时间,然后我就搜索time相关的,哟!,还真有,其中有个timelength,英语有点基础的应该也能读出,这不就是时长的意思。哈哈哈,这也太简单了,但是又发现高兴太早了,这个经过不论是除60还是除3600都无法得到需要的结果,就在这时,突然一个乘法口诀蹦了出来,这个timelength的前几位除60不就是要的结果吗,这样我们就顺利找到了

接下来又出现一个问题,这一个页面的是出来的,但是一共有多少总不能每次都要输入吧,接下来就继续分析

看了一下,一共有93集,但是直接搜肯定是不行的,毕竟搜了一下有一百多个。看来要另想出路了。

想到刚才的timelength参数是使用的类似字典类型,那我接按字典的格式搜不也行吗,

这下行了,搜到的第一个就是,哈哈,我都有些自负了,这也太简单了,这个问题再次被顺利解决了。

最后是代码,小白写,大佬勿喷,如有不足还请谅解,源码已上传至GitHub

import requestsimport reimport pygameimport timeheader = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/74.0.3729.157 ''Safari/537.36 '}class Bili(object): def __init__(self, url): self.url = url self.max_page = 0 self.the_time = list() self.sum_time = 0 self.b_url = 'https://www.bilibili.com/video/av' + re.search(r'av(\d+)', url).group(1) + '?p=' @staticmethod def get_html(acp_url): try: r = requests.get(acp_url, headers=header) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except Exception as result: print("get_html:", result) return "" def parse_max_page(self): self.max_page = int(re.findall(r'videos":(.+?),', self.get_html(self.url))[0]) def parse_time(self, se_url): text = self.get_html(se_url) single_time = re.findall(r'"timelength":(\d+),', text)[0][:-3] return single_time def get_time(self): for i in range(self.max_page + 1): s_url = self.b_url + str(i) ret = self.parse_time(s_url) self.the_time.append(ret) print("第%d页 time=%s" % (i, ret)) for each in self.the_time: self.sum_time += int(each) print("sum_time:%.3s h" % str(self.sum_time / 60)) def main(self): self.parse_max_page() self.get_time()if __name__ == '__main__': i_url = input("请输入链接地址[要以+结尾]:") Bili(i_url).main()

说明

这句i_url = input("请输入链接地址[要以+结尾]:")由于本身编译器的原因,直接回车会跳转

GitHub地址:https://github.com/easyprogramer/My_Python_Spider/tree/master

1、观百影特权:bilibili的会员:只能观看部分影片。bilibili的大会员:可以观看全部的影片(单独付费的除外)。2、观看新番的时间:bilibili的会员:新的一集更新时间过一周后可以观看。bilibili的大会员:第一时间观看新的一集。扩展资料度:bilibili大会员连续包月服务(下称“本服知务”)是指在客户已开通大会员的前提下,为客户提供的自动续费服务。如客户开通本服务,则视为授权bilibili在客户的大会员即将到期时,从客户的自有充道值账户、与会员账号绑定的第三方支付账户、银行卡(以下统称“账户”)中代扣下一个计费专周期包月费。该服务实现的前提是客户已将大会员账号与上述账户绑定,且可成功从上述账户中扣款,因上述账户中可扣款余额不足导致的续费失属败,由客户自行承担内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python爬虫 bilibili视频弹幕提取过程详解
  • python破解bilibili滑块验证码的思路详解(完美避开人机识别)
  • python爬虫爬取bilibili弹幕过程解析
  • python破解bilibili滑动验证码登录功能
  • python实现youku视频批量下载功能
  • 【python】python的urllib模块、urllib2模块批量进行网页下载文件
  • python实现批量下载图片的方法
  • python中使用you-get库批量在线下载bilibili视频的教程
  • python操作rabbitmq服务器实现消息队列的路由功能
  • pandas去重复行并分类汇总的实现方法
  • python读出当前时间精度到秒的代码
  • python 处理数字,把大于上限的数字置零实现方法
  • 关于pytorch中网络loss传播和参数更新的理解
  • 屏蔽django admin界面添加按钮的操作
  • pytorch构建多模型实例
  • python闭包与装饰器原理及实例解析
  • python3.7环境下安装anaconda的教程图解
  • python实现一个简单的udp通信的示例代码
  • bilibili的会员和大会员有区别吗
  • bilibili硬币如何获得?
  • bilibili上的主播如何将礼物换成人民币?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页python爬虫 bilibili视频弹幕提取过程详解python破解bilibili滑块验证码的思路详解(完美避开人机识别)python爬虫爬取bilibili弹幕过程解析python破解bilibili滑动验证码登录功能python实现youku视频批量下载功能【python】python的urllib模块、urllib2模块批量进行网页下载文件python实现批量下载图片的方法python中使用you-get库批量在线下载bilibili视频的教程python操作rabbitmq服务器实现消息队列的路由功能pandas去重复行并分类汇总的实现方法python读出当前时间精度到秒的代码python 处理数字,把大于上限的数字置零实现方法关于pytorch中网络loss传播和参数更新的理解屏蔽django admin界面添加按钮的操作pytorch构建多模型实例python闭包与装饰器原理及实例解析python3.7环境下安装anaconda的教程图解python实现一个简单的udp通信的示例代码python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anacpython逐行读取文件内容的三种方python 判断文件还是文件夹的简单实例解决python数据可视化中文部分显示方块问在cmd命令行中运行python脚本的方法python实现堆排序的方法详解浅谈python中range和xrange的区别python中apriori算法实现讲解python求绝对值的三种方法小结linux系统使用python获取cpu信息脚本分享解决django中调用keras的模型出现的问题python字符串逆序的实现方法【一题多解】
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved