bilibili-daily-task
bilibili-daily-task copied to clipboard
自动完成B站每日任务
(功能应该都能用了..)
目前的开发已移至dev分支, 确保功能基本可用后合并到main分支.
overview
使用
selenium模块控制浏览器完成每日任务
todo
(空)
已知bug / known bugs
- ~有时会弹出登录框.~ 现在可自动关闭登录框
- ~分享 功能有时会出问题, 故禁用. 可修改源代码启用~ 目前很少出问题, 故启用
- ~窗口较小时, 会报错~ 每次点击时, 固定窗口大小和滚动, 确保要点击的元素可见
- 无头模式下, 不能播放视频
- ~在 github action 中, 第一次不能正常登录, 需要手动扫码登录~ 见[说明](# github action)
功能 / functions
- [x] 使用自定义cookies登录
- [x] 手机端扫描二维码登录, 自动设置cookies
- [x] 自动观看, 点赞, 投币, 分享
- [ ] 逐步完善... 可提交功能申请issue, 尽量详细说明操作步骤
特点 / feature
- 模拟操控浏览器, 尽可能防止被封杀
- 移除了
navigator.webdriver接口- 无头模式 (见 配置文件)
- 浏览器默认静音
- 使用
ActionChains完成页面操作, 提高"安全性"- 支持手机端扫描二维码设置cookies
Api
- 参考了以下api文档:
- bilibili-API-collect
github action
设置了 github action, 用于自动执行, 正在测试...
- todo: 第一次登录时, 自动设置secret
- 因为 github action 的服务器在国外, 所以第一次需要扫码登录
如何使用 / how to use
安装python环境
- 版本建议 python3.8 +
- 详细步骤参考相关文章
安装依赖库
针对linux系统. Windows用户需将
pip3改为pip.
pip3 install bs4 urllib3 lxml selenium requests qrcode
安装firefox浏览器和driver(geckodriver)
- 安装firefox
- windows用户, 去官方网站下载并放到此项目的根目录.
- linux用户:
# archlinux:
sudo pacman -S geckodriver
# debian/ubuntu:
sudo apt install firefox-geckodriver net-tools
其他发行版, 去其软件库搜索...
设置cookie
- 手动修改 配置文件
- 或, 运行脚本
auto_config.py通过手机端扫描二维码自动设置cookies
运行
- 针对linux系统. Windows用户需将
python3改为python.
python3 main.py
- 可自行修改此文件, 定制功能
配置文件 / config files
- 配置文件目录:
config/- 相关说明在此目录中
注意事项 / warning
- 运行过程中, 不要将鼠标光标放入浏览器网页区域内.
- 若脚本抛出异常并终止, 导致处于无头模式的浏览器仍在运行, 使用
kill_browser.py结束后台的浏览器进程(暂不支持windows).- 网络不好(访问b站很慢)的情况下, 使用此脚本可能会时不时地崩溃.