直接上菜

考完试,开始找点东西玩。早在一年前我一个当UP主的朋友想要给粉丝们抽奖,拜托我帮忙找找软件。我哪抽过啥奖啊,接着一顿github搜索找到了项目Magician-T/bilibili_lottery,这是一个python写的抽奖脚本由Magician-T编写,clone下来根据文档弄了下,感觉可以满足需求了。结果给朋友后,骂骂咧咧的说那个python的依赖很是烦。我想了想,啥我都只懂点,用bat写个启动脚本呗。脚本大概步骤是–自动安装依赖–选择模式–输入av号–检查av号–输入upid–检查upid–输入cookie–写入配置–启动python脚本。然后那朋友用了一回行了,我直接丢github然后就不管了。

一年多后

我以为这就完了,结果考试当天刚刚考完我的项目JHPatchouli/bilibili_lottery出现了一个Issues并发到我的邮箱,我见到后发现是有人提交一个奇怪的报错,大致的内容是它的powershell看起来没有解析bat里的内容,他换了cmd也一样。我把项目pull下来看了下,即使安装了和问题出现者一样的版本的环境还是无法复现问题,依旧是正常运行,在测试中我发现我这个项目实在是太老了,我当即就打算重制,写了两天代码,其中加入了BV号转av号功能和选择依赖下载源的功能,并封装成了便携版本。其间我遇到的各种奇葩的问题(因为我的无知)

重头戏

我当时重制的思路是,做一个小api(不想用后端),于是我用网上找到的转换bv号的js代码,写了个页面JHPatchouli/Bilibili_bvtoav当我在cmdcurlwget发送get请求到它时,它返回来了页面代码,我突然想起来它是js,需要浏览器的js引擎去跑而curlwget这些工具不能像浏览器一样渲染页面,所以获取不到值。接着我想着,在线不行,那就离线,我把我安装的nodejs的文件夹直接复制出来放在脚本目录下再修改一下js内容以便接收cmd传入的参数,接着

1
> node.exe bvtoav.js bv号

出现了令人兴奋的av号,接着一切都还算顺利,另外附上成品,日后还将更新

下载链接

1

2

3