amae-koromo-scripts
amae-koromo-scripts copied to clipboard
关于牌谱屋爬虫的技术实现,有两个问题想请教
第一个问题,目前爬虫的实现方式,是否依赖于浏览器打开雀魂网页版实际进行观战,然后用js进行数据分析处理——也就是没法做到脱离雀魂官方(网页)客户端,独立处理观战/牌谱数据?
第二个问题,我看到本代码库当中的js源代码的编码风格,有比较明显的工具链生成痕迹,且没有看到注释,请问这些代码是通过原始代码+部署流程自动化生成的吗?请问作者是否愿意开源原始代码,以及部署(生成可执行js)的方式呢?
- 現在這邊是直接連接雀魂的 WebSocket 服務器獲取數據的,不需要經過模擬瀏覽器或者客戶端。
- 這邊只有兩個文件是預先生成的:
a.
shanten-core.js
由 https://github.com/EndlessCheng/mahjong-helper/blob/master/util/shanten_base.go 編譯而來 b.majsoulPb.{js,d.ts}
是使用generateTsDefinition.ts
從雀魂的 protobuf 定義文件majsoulPb.proto.json
生成的
其它的脚本如果沒有對應的 ts 文件的話都是手寫的,不需要經過編譯步驟。ts 文件使用tsc -p tsconfig.json
即可編譯成 js 文件。
現在這邊是直接連接雀魂的 WebSocket 服務器獲取數據的,不需要經過模擬瀏覽器或者客戶端。
好的,我再仔细读代码学习一下,本身我对js构建复杂业务逻辑确实不熟悉(主要是对构建第三方业务涉及的逆向工程这块有畏难情绪)
a. shanten-core.js 由 https://github.com/EndlessCheng/mahjong-helper/blob/master/util/shanten_base.go 編譯而來
难怪如此,我第一个看的就是 shanten-core.js 属于是一发出货中大奖了。