欢迎使用Bilibili下载器2!历时一年后,我们重新开始设计了Bilibili下载器,取消了对you_get的依赖,批量爬取,大幅度提升了速度,并重新设计了数据模型,支持爬取视频及其附加信息、弹幕、评论、用户动态、关注、被关注、相册和收藏夹并添加到sqlite数据库中,爱怎么爬怎么爬。 欢迎fork、star支持!
在worker.py脚本中有两个强大的类,Green类可以爬取一个up的所有动态信息、相册、收藏夹、视频索引、关注与被关注信息,并添加到指定的数据库中,再使用该类中的run方法,便可以遍历爬取所有视频本体和附加信息; Blue类是一个仅用于不断爬取用户数据和用户关系的类,可以爬取每个用户的动态信息、相册、收藏夹、视频索引信息,并能够在关注列表中发现新的用户,进而建立起一个庞大的用户信息和用户关系网络,可以制作数据集、推荐系统以及搞科研用。
requests tqdm
ffmpeg (需添加至环境变量,macos、linux使用brew、apt、yum等工具均可直接安装,windows下安装方法自行百度)
这里只讲强大的Green类
看到worker.py,实例化一个Green类,传入数据库路径(没有数据库的话会自动创建)、up的视频路径、up的相册的路径(没有皆会自动创建),即可初始化完成。
调用find_ups([up主mid, ])即可获取一个up主的态、相册、收藏夹、视频索引、关注与被关注信息,并添加到sqlite数据库中。
在调用run()方法,即可按照视频索引信息按顺序爬取up主的视频与附加信息到指定目录中。
详细用例可以在文件中的main函数中找到。
Enjoy it~
这个就不花笔墨描述了,有能力的同学可以自行理解。
20210804:为BlueSystem卸载了几个次级下载组件,更节省流量
20210805:新增Green类的命令行功能,修改了README
20210807:修改了api的异常返回bug,对不同异常和错误状态码进行了捕获和判断
20210812:进一步提高了Findauthor的鲁棒性,提高异常捕获概率
20210814:进N步提高了Findauthor的鲁棒性,加入了熔断机制来防止系统识别爬虫后拦截请求,熔断后某些次级爬取组件在一定时间内处于休眠状态
当系统封禁ip时自动切换内网ip地址。