Giter VIP home page Giter VIP logo

genshin-gacha-export's Introduction

原神抽卡记录导出

下载

Wiki

功能

  • 读取客户端缓存文件中的 url
  • 使用插件 CaptureApp 抓包本机 api 请求
  • 将获取到的6个月历史记录与本地记录合并(1.3版本更新后api只能获取6个月历史记录)
  • 导出抽卡记录为 json 和 excel (已适配 UIGF 格式)
  • 展示抽卡报告 抽卡报告预览 ,鼠标悬停在数量上即可查看对应星级详情
  • 记录历史 url,如果可用无需重新抓包

genshin-gacha-export's People

Contributors

ainopara avatar dependabot[bot] avatar sunfkny avatar yanshil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

genshin-gacha-export's Issues

添加模式选择

关于哪一项功能
运行程序时可选模式

功能详情

  • 模式1手动抓包填入
  • 模式2自动捕获链接

Windows 11、3.0版本抓包崩溃

问题描述

  1. 从Coding下载最新包(genshin-gacha-export_capture.zip,v3.0.0.08251149)
  2. 运行CaptureApp.exe
  3. 允许安装证书、防火墙放行
  4. 点击“开始”
  5. 切回原神抽卡记录页面,点击下一页
  6. 提示网络错误,此时按Windows回到桌面发现CaptureApp窗口消失,应该是崩溃了

尝试过修改端口,仍然复现。

系统版本

Windows 11专业版21H2

错误信息

直接崩溃,无错误弹窗。

附加截图

4.2国际服从缓存文件导出报错 数据为空,错误代码:invalid request params

问题描述
4.2国际服从缓存文件导出报错 数据为空,错误代码:invalid request params

系统版本
v4.2.0.11092107
Windows11 22H2

错误信息

2023-11-09 23:05:01.002 | INFO     | __main__:<module>:225 - 项目主页: https://github.com/sunfkny/genshin-gacha-export
2023-11-09 23:05:01.002 | INFO     | __main__:<module>:226 - 作者: sunfkny
2023-11-09 23:05:01.002 | INFO     | __main__:<module>:227 - 版本: v4.2.0.11092107
2023-11-09 23:05:01.002 | INFO     | updater:update:99 - 更新发布: https://github.com/sunfkny/genshin-gacha-export/releases
2023-11-09 23:05:01.002 | INFO     | updater:update:100 - Coding 制品库(国内推荐): https://sunfkny.coding.net/public-artifacts/genshin-gacha-export/releases/packages
2023-11-09 23:05:01.298 | INFO     | updater:update:138 - 当前已是最新版本
2023-11-09 23:05:01.300 | INFO     | __main__:<module>:240 - 检查配置文件中的链接
2023-11-09 23:05:01.730 | WARNING  | __main__:check_api:210 - 链接过期
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:256 - 使用剪贴板模式
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:264 - 剪贴板中无链接
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:283 - 云·原神日志不存在
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:305 - 使用国际服日志 C:\Users\tenky\AppData\LocalLow\miHoYo\Genshin Impact\output_log.txt
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:326 - 缓存文件 C:\Program Files\Genshin Impact\Genshin Impact game\GenshinImpact_Data\webCaches\2.18.0.0\Cache\Cache_Data\data_2
2023-11-09 23:05:01.750 | INFO     | __main__:<module>:332 - 开始读取缓存
2023-11-09 23:05:01.781 | INFO     | __main__:<module>:350 - 检查缓存文件中的最新链接
2023-11-09 23:05:05.388 | WARNING  | __main__:check_api:214 - 数据为空,错误代码:invalid request params
2023-11-09 23:05:05.388 | INFO     | __main__:<module>:367 - 使用抓包模式

附加截图
222

新版本更新后报错

问题描述

原神4.2版本更新后,每次使用都显示 云·原神日志不存在 ,一般都靠抓包来完成。
这次更新后就直接报错了

系统版本

错误信息

日志读取模块出错: Traceback (most recent call last):
File "main.py", line 317, in
AssertionError: 未找到游戏路径

附加截图
image

不应该根据 config 中的版本进行更新检测

问题描述

目前检测更新过程通过 config.json 来判断当前版本,这会出现以下问题:

  • 更新时不能直接简单将新文件覆盖旧文件更新,会导致设置丢失
  • 版本信息容易被误修改导致检测更新结果异常

希望可以将版本号直接记录到程序中,或者分离出一个文件记录版本号。

获取部分内容后显示连接失败并弹出

问题描述

在寻找日志文件中链接合法的情况下,获取祈愿页会突然长时间卡死,之后显示错误信息并直接弹出。多次尝试并不会卡死在同一个位置且无规律。网络环境可以正常观看bilibili直播,且无波动。访问位置在海外,但之前顺利获取并未出现过类似问题。

系统版本

Windows10 20H2

错误信息

见附件。

附加截图
log.txt

关于祈愿ID的问题

入坑时间比较晚,不知道之前的API是什么情况。
有这么几个问题:

1、服务器返回的祈愿数据中ID这个key是在哪个版本中加入的?
2、您的软件在什么时候增加了保存祈愿ID的功能?
3、之前保存的没有ID的祈愿数据会被补上这一数据?

您的回答对我开发很重要,关系到能否直接从json文件导入数据,非常感谢!

关于使用UIGF导入别的软件出现数据错误的问题

问题描述

使用新版本v2.4.0.01122052导出数据,将UIGF导入到刻记牛杂店和SnapGenshin会出现数据混乱。

系统版本

Windows11 21H2

错误信息

首先感谢作者大佬,之前一直在使用你的这款软件。从老版本一直用到v1.1.23这个版本,最近看到新版本支持UIGF可以导入到别的软件,就想着试试,结果就出现此问题。

附加截图
v1.1.23
v1 1 23
v2.4.0
v2 4 0 01122052
导入刻记牛杂店出现数据位置错误
刻
刻2
v2.4.0导出的Excel表格中的原始数据好像没按时间正确排序
原始数据

附带数据文件
v1.1.23
v1.1.23.zip
v2.4.0
v2.4.0.zip

导出统计

关于哪一项功能
获取全部抽卡记录后统计汇总

日志读取模块出错

问题描述
3.0更新3.1后
系统版本
Windows11 21H2

错误信息
ERROR | main::352 - 日志读取模块出错: Traceback (most recent call last):
File "main.py", line 301, in
File "pathlib.py", line 1267, in read_text
File "codecs.py", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 475910: invalid start byte

附加截图

亚洲服 链接过期?

2022-11-04 22:05:23.659 | INFO | main::249 - 检查配置文件中的链接
2022-11-04 22:05:24.179 | WARNING | main:checkApi:200 - 链接过期
2022-11-04 22:05:24.179 | INFO | main::263 - 获取剪贴板
2022-11-04 22:05:24.181 | ERROR | main:checkApi:188 - 链接为空
2022-11-04 22:05:24.182 | ERROR | main::267 - 剪贴板链接不可用
2022-11-04 22:05:24.182 | INFO | utils:pressAnyKeyToExit:20 - 执行结束,按任意键退出

Capture

替换 mitmproxy 抓包

目前基于 Titanium.Web.Proxy 的插件已完成
image
正在修改 python 代码,移除 手动输入 和 mitmproxy 抓包,增加 自动获取剪贴板 和 调用上述插件功能(摸了)

数据异常

问题描述

系统版本
Windows10 20H2

错误信息
新手祈愿数据异常,新手祈愿就出了一个诺艾尔和班尼特

附加截图
image

抽卡记录导出工具出错

问题描述

初次运行exe时在【开始捕获链接】处卡主,然后运行了附带的bat关闭代理并重新启动exe后出现error提示。

系统版本

Windows10

错误信息

mitmproxy has crashed!
Please lodge a bug report at: https://github.com/mitmproxy/mitmproxy
Traceback (most recent call last):
File "mitmproxy\proxy\server.py", line 121, in handle
TypeError: 'NoneType' object is not callable

附加截图
屏幕截图 2021-01-25 193248

error cannot find module fs/promises

问题描述
使用抽卡工具已經很久了,第一次報這類型的錯誤
我點了下抽卡工具更新,然後就突然不能用了,在報錯後自己有嘗試過修復Node和重裝JAVA,都沒用

系统版本
WIN10 64bit

错误信息
error cannot find module fs/promises

附加截图

QQ图片20230707092930

QQ截图20230707094914
NGA也有人反饋報錯

将新纪录追加到已有excel文件而非重新生成

关于哪一项功能
追加新纪录到已有excel的功能

功能详情
Mihoyo限制只能查询6个月记录了,每次重新生成新的就不太开心了。可以考虑增加追加记录的功能?
把API get到数据的最小时间和已有excel记录的最大时间比对,只将大于已有时间的数据append到excel里面。
如果API get到的最小时间 - 已有excel记录最大时间 > 180天,给出警告有可能已有不可找回的遗漏数据。

附加截图

v2.6.0.05091700 出货抽数统计有问题

1、将4月备份的文件复制出来,重命名为gachaData.json和gachaData-[UID].json
2、执行v2.6.0.05091700,导出新数据

问题:

常驻池跟角色限定池的总抽数都是对的,但是“距上次”、“平均出货次数”,以及每一个五星多少抽的数据,都是错的。

另外,导出的UIGF文件没有数据:"list": []

回退至v2.6.0.04301038,再次尝试,导出数据正常了。

使用工具时报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0xb8 in position 36368: illegal multibyte sequence

问题描述

未知,某一天启动小工具时突然无法正常工作了,异常前一两天还是正常的

系统版本

Windows10 22H2(19045.2364)

错误信息

2022-12-31 15:22:12.084 | INFO     | __main__:<module>:246 - 项目主页: https://github.com/sunfkny/genshin-gacha-export
2022-12-31 15:22:12.087 | INFO     | __main__:<module>:247 - 作者: sunfkny
2022-12-31 15:22:12.089 | INFO     | __main__:<module>:248 - 版本: v3.3.0.12101546
2022-12-31 15:22:12.097 | INFO     | updater:update:99 - 更新发布: https://github.com/sunfkny/genshin-gacha-export/releases
2022-12-31 15:22:12.099 | INFO     | updater:update:100 - Coding 制品库(国内推荐): https://sunfkny.coding.net/public-artifacts/genshin-gacha-export/releases/packages
2022-12-31 15:22:12.303 | INFO     | updater:update:136 - 当前已是最新版本
2022-12-31 15:22:12.306 | INFO     | __main__:<module>:261 - 检查配置文件中的链接
2022-12-31 15:22:12.591 | WARNING  | __main__:checkApi:212 - 链接过期
2022-12-31 15:22:12.645 | INFO     | __main__:<module>:277 - 使用剪贴板模式
2022-12-31 15:22:12.650 | INFO     | __main__:<module>:285 - 剪贴板中无链接
2022-12-31 15:22:12.653 | INFO     | __main__:<module>:304 - 云·原神日志不存在
2022-12-31 15:22:12.655 | INFO     | __main__:<module>:322 - 使用日志 C:\Users\Administrator\AppData\LocalLow\miHoYo\原 神\output_log.txt
2022-12-31 15:22:12.661 | ERROR    | __main__:<module>:373 - 日志读取模块出错: Traceback (most recent call last):
  File "main.py", line 329, in <module>
  File "pathlib.py", line 1267, in read_text
  File "codecs.py", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 556483: invalid continuation byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 332, in <module>
  File "pathlib.py", line 1267, in read_text
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb8 in position 36368: illegal multibyte sequence

2022-12-31 15:22:12.665 | INFO     | utils:pressAnyKeyToExit:20 - 执行结束,按任意键退出

附加截图

读取抽卡记录读到一半报错

版本

v4.5.0.03131957

错误信息

就正常使用,打开游戏打开抽卡记录,再打开genshin-gacha-export.exe。
(缓存文件data_2 上传不了,加了个后缀记得删一下)

诊断日志

log.txt
data_2.txt

URL失效解决方案

问题描述

url失效
ZT_PCRSR ZW_DY9H74Z$3TU

系统版本

所有版本

错误信息

main.py 原api已失效
请将main.py 324 325行中的OnGetWebViewPageFinish替换为OnGetBeforeNavigationMessage

附加截图

TypeError: 'NoneType' object is not callable

问题描述
0.已经关闭了代理
1.按照流程生成了正确的excel文件
2.但是执行窗口报错了,而且也不能按任意键退出

系统版本
win10 1909 操作系统版本18363.1316

错误信息
`设置代理...成功
开始捕获链接...成功
清除代理...成功
检查URL...Traceback (most recent call last):
File "mitmproxy\proxy\server.py", line 121, in handle
File "mitmproxy\proxy\modes\http_proxy.py", line 9, in call
File "mitmproxy\proxy\protocol\tls.py", line 285, in call
File "mitmproxy\proxy\protocol\http1.py", line 100, in call
File "mitmproxy\proxy\protocol\http.py", line 204, in call
File "mitmproxy\proxy\protocol\http.py", line 277, in _process_flow
File "mitmproxy\proxy\protocol\http.py", line 222, in handle_regular_connect
File "mitmproxy\proxy\protocol\tls.py", line 285, in call
TypeError: 'NoneType' object is not callable

mitmproxy has crashed!
Please lodge a bug report at: https://github.com/mitmproxy/mitmproxy
正常
获取物品信息...物品数:74
获取卡池信息...新手祈愿 常驻祈愿 角色活动祈愿 武器活动祈愿
获取抽卡数据...新手祈愿 常驻祈愿 角色活动祈愿 武器活动祈愿
清除历史文件...
写入文件...XLS
执行完成,按任意键退出...Traceback (most recent call last):
File "mitmproxy\proxy\server.py", line 121, in handle
TypeError: 'NoneType' object is not callable

mitmproxy has crashed!
Please lodge a bug report at: https://github.com/mitmproxy/mitmproxy`

附加截图
屏幕截图 2021-01-25 232943

執行時出現SSL相關的錯誤訊息

請問在執行的時候出現以下的錯誤訊息,看起來像SSL認證問題? 請問怎麼解決呢? 謝謝

Traceback (most recent call last):
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
self._prepare_proxy(conn)
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
conn.connect()
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 359, in connect
conn = self._connect_tls_proxy(hostname, conn)
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 496, in connect_tls_proxy
return ssl_wrap_socket(
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl
.py", line 432, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(sock, context, tls_in_tls)
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl
.py", line 474, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1040, in _create
self.do_handshake()
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 439, in send
resp = conn.urlopen(
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "C:\Users\godbl\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 573, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='hk4e-api-os.mihoyo.com', port=443): Max retries exceeded with url: /event/gacha_info/api/getGachaLog?authkey_ver=1&sign_type=2&auth_appid=webview_gacha&init_type=301&gacha_id=8b5ca18f79ee64a0cd71826c24a0c0808ac813&lang=zh-tw&device_type=pc&ext=%7B%22loc%22%3A%7B%22x%22%3A-663.3135375976563%2C%22y%22%3A220.3798370361328%2C%22z%22%3A262.802734375%7D%2C%22platform%22%3A%22WinST%22%7D&game_version=OSRELWin1.2.0_R1771533_S1780278_D1780278&region=os_asia&authkey=J7jN9eAf7qUpbn3QeTW5HEo4CeNBD%2BF9lhWS65VZQ5igp03zQsKZ7oTimbpVNfO3%2BxxUMC9%2F2Fq%2FJFZEkRGQxKTkgYp%2BKeaAA2SojMNbpgxWZYleKiwbuY%2BsqIfqJweXUV7Ep%2FiHOWM8a6YlA28xYu6p%2BYOD6ZabCqtakNC%2BCrx9luwTlVIuL5zpXdKSRMrtb859au7SlxJmqfhjD28OzFzndm2merTW5mPeHfh6RC25tvcCmXPm9ncAgmGeZz%2BGVN8aJ55ZTwkhz%2B23v%2BHfi7chL6I99ZTSxJQ6xVxNuUYq7KJ6gHDS4QG2Zt39nAxnJ%2BRmHq%2FoilQP8uaEYpCFLzVx5dwxES7u%2BWMQh7s7N04rYIfMvn4SKg6BTaAyivJuV8Q3FhSVKwcIHMWpKhxStabn8OLDcrA%3D%3D&game_biz=hk4e_global&gacha_type=200&page=1&size=20 (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)')))

1.1.2及1.1.3均被系統報毒後刪除了

问题描述
下載解壓縮後執行,直接被系統攔截刪除了

系统版本
Windows10專業版 2004版本 -->

错误信息
下載解壓縮後執行,直接被系統攔截刪除了

附加截图
Screenshot - 2021-01-29 00 39 12

突然需要抓包,运行程序后自动抓包报错

检查更新中...
检查配置文件中的链接...url为空
检测到国服日志文件
日志文件中没有链接
开始通过抓包模式捕获链接
注意:必须等程序运行结束或者Ctrl+C退出,不要直接关闭,否则会上不了网
可以用解压出来的关闭代理bat脚本恢复,或者 设置 - 网络和Internet - 代理 - 使用代理服务器 - 关闭
确定使用抓包模式吗?输入yes确认执行:yes
设置代理...成功
请打开抽卡记录页面,并翻页几次
正在捕获链接...抓包模块出错:
Traceback (most recent call last):
File "main.py", line 442, in
File "main.py", line 286, in capture
ModuleNotFoundError: No module named 'mitmproxy.proxy.config'

添加URL缓存

关于哪一项功能
在缓存的URL有效时不必重新抓包

`UIGF_converter.py` 文件名大小写问题

目前所有 import uigf_converter 均为全小写,但 UIGF_converter.py 文件名有大写,在大小写敏感的平台上会报 ModuleNotFoundError: No module named 'uigf_converter'

无法正常导出

问题描述
尝试导出会提示 key 过期

错误信息
原因是新版本中 webCache 的存储路径有变化,同时旧路径下的缓存文件也没有被删除,导致工具一直在使用早已过期的 cache 文件获取 key
其他同类项目的处理方式

抽卡服务器似乎改了API了

问题描述

已经抓不到了

系统版本

错误信息

/event/gacha_info/api/getGachaLog正则去掉以后直接抓,可以抓到一个 https://public-operation-hk4e.mihoyo.com/gacha_info/api/getGachaLog? 的链接,而不是以前常见的 https://hk4e-api.mihoyo.com/event/gacha_info/api/getGachaLog (感谢UIGF群友)

附加截图
图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.