Skip to content

Latest commit

 

History

History
69 lines (59 loc) · 6.46 KB

README.md

File metadata and controls

69 lines (59 loc) · 6.46 KB

Bilibili视频全自动举报———我能跑一整天!

BilibiliVideoAutoReport———I can do this all day!

20240907更新

写在前面————前言🤓☝️

一切都开始于某个中午,似乎是去年的我在家刷B站时被推广黄油的视频烦破防了,在Google上搜索了“Bilibili批量举报”,在一个中文论坛上找到了这个bilibili批量举报【高危脚本】-油猴中文网,下完后发现用不了。
我当时上大四,学的软件工程,代码一点不会,完成课设全靠网上找项目,油猴脚本是用JavaScript写的,我一窍不通。只能把代码发给AI,描述需求,提供报错。当天下午脚本就完成了。
最初B站还没有对举报频率进行限制,我甚至可以开多个窗口,同时举报多个UP,有的人甚至一天之内稿件被下架清空。大概过了一个月后,B站加了举报频率限制,举报频率过快会封禁IP,开个代理或者等一段时间就能解决问题。
人机验证是一直都有的,每个账号每天可以免验证举报几十次,后续每60秒一次人机验证。
当时还没有制作全自动脚本的打算。直到后来我买了个玩客云的小盒子,我发现青龙可以定时运行各种脚本。
整个程序花了大概三天,全是用ChatGPT写的,先是用关键词获取违规视频,再获取发布违规视频的账号。后来发现用Selenium重写举报过程太麻烦,就直接把油猴脚本改了一下,安装到测试浏览器上。
真正运行起来时才发现有人机验证,只能去找过人机验证的项目,再把项目融合进程序里,写好人机验证的循环。每天就是运行、发现问题、解决问题、运行然后发现新问题。好在当时毕设已经完事了,我有足够的时间。毕设也是用ChatGPT写的。
今天是2024年9月7号,放假,可以写点东西。前两天刚发现B站采用了新机制,运行在测试浏览器上的小号过不了人机验证,开代理后恢复正常,运行在常用浏览器上的大号一切正常,切换到小号也一切正常。初步的解决方案是在代码里加个请求代理的脚本,吧找到的代理存起来,每次运行浏览器时随机用一个代理,运行完成后把代理删除。具体怎么办等我先测试一下详细的机制。
B站也是离谱,发现举报变多了,不去治理被举报目标,反而开始阻止用户举报......

推荐使用方法(可能仅限Windows,需要下载PyCharm)🐍

1,下载安装PyCharm
2,按照教程安装和汉化PyCharm
3,下载Relaease,解压至D盘
4,在Pycharm中打开“D:\BilibiliAutoReport”文件夹,在软件的最上方会有一个绿色三角形,点击可以运行指定文件,用左边向下的三角来切换脚本
5,脚本解释:AAA可以打开浏览器进行配置,并测试Bilibili是否登录成功,Getuid用于运行搜索+举报功能,单独运行Report仅会举报uid.txt文件内的目标,Start是全自动运行所有功能,且出错后不会停止,会一直运行
6,先运行AAA,在打开的浏览器中登录Bilibili,并安装油猴脚本
7,关闭浏览器,点击左边向下三角,切换并运行Getuid,并查看是否成功启动浏览器 8,双击红色停止按钮,彻底停止脚本,切换至Start,点击绿色三角 9,脚本已运行

不推荐使用方法(可能仅限Windows)😢

1,下载Relaease,解压至D盘
2,进入“D:\BilibiliAutoReport”文件夹,在地址栏输入“cmd”,回车后会出现一个命令窗口
3,在窗口中输入:

venv\Scripts\activate

这将进入Python虚拟环境
4,继续输入

python AAA.py

在打开的浏览器窗口内登录BiliBili账号,并安装篡改猴和两个油猴脚本
5,在命令窗口使用“Ctrl+C”关闭浏览器,在命令窗口中继续输入

python Start.py

命令窗口将开始输出关键词搜索情况,程序成功运行。

程序逻辑🧠

1,GetUid使用代码所提供的关键词进行两次搜索,分别为默认排序和按时间排序,从返回页面抓取uid,并将uid和关键词写入文件保存
2,从云端加载举报uid列表和排除uid列表,读取所有uid,去重,过排除列表,重新写入文件uid.txt
3,启动Report进行举报,如果中途出错将重新启动Report,如果运行结束则重新运行搜索
4,Report脚本读取uid,逐个调用油猴脚本进行举报,先导航至目标投稿的最后一页,总最后一页的第一个视频开始,举报完成后向前翻页,第一页举报完成后自动跳转至动态页举报动态
5,初次运行2秒后以及之后的每58秒会在新标签页进行一次人机验证,并检查一次举报进度
6,在人机验证后脚本将检查当前页面地址,如果当前位于动态页面,则代表此目标已完成,将从列表删除uid并载入下一个目标
7,Start脚本用于启动搜索和举报功能,并自动在程序出错后重新运行

目前问题😒

1,采用关键词搜索寻找目标的方法容易误杀,将在未来采取更好的方法来避免
2,B站似乎会包庇粉丝量高的账号,比如这位,还有某些特殊的账号比如这位

引用信息🤝

1,项目中过人机验证的代码来自于MgArcher/Text_select_captcha: 实现文字点选、选字、选择、点触验证码识别,基于pytorch训练,感谢大佬
2,油猴脚本的手动版在这里
3,ChromeDriver的官方下载地址

甲级战犯展示🚓

3546674746100411
452078996