zh.tradingeconomics.com 的图表数据解密
顺手记下
import base64
import zlib
def decrypt_and_decompress(encrypted_data, key):
# 1: Base64 解码
bytes_data = base64.b64decode(encrypted_data)
# 2: XOR 解密
key_bytes = key.encode('utf-8')
decrypted_bytes = bytes([b ^ key_bytes[i % len(key_bytes)] for i, b in enumerate(bytes_data)])
# 3: zlib 解压缩
decompressed_data = zlib.decompress(decrypted_bytes, zlib.MAX_WBITS | 16)
return decompressed_data.decode('utf-8')
encrypted_data = "a/lpZGluZ2VjbBP5pAeHRT0jF6SirRBdyuqeBt9ic1FeAak4HVkXYwfbIG5xDF6Q8ztEWb9WLh3D4qRo0TFnzM6WHneLmFUO85Ee87QvSd8g2OCICBH55NOUnZ1EOPRIi4HJ1JJpoBRU154cSc1f+a6J3KqgG1dA3tX/LIOwmt62YiBznZkAOMofDPsKoJ6i8q3jq74bXbgdk56XHZ6IQ+OIRDDU1SzIjnChlUB8trqWa/KSzM7d2qK9tBB++AcUm4xVrJakzT70Gd++nxDMu3McQPqKFYwcuTV+tFRWnt6U9zynU6GGy5PdthazcYTkgkiV3oKWN3YOhwUP7UB49B9+5nHvJ7DtwQnveX/jswR/0m6JO03UiT55QELFnO2dSAgGJIYY9zhirsn7YYF2t41DGRNkeEi1c3q+5ZSok39jSB/G90yZrA2uN+NFam/+/2jA8YwnjHGjen4yz7WVcfXjmvNdHCg4fnaMeMDuLiQXlsmqxQI19jn7X893/xj1iP7QZilREEemCmD8UHE3yiCjI4FjSeGqGJ86sjneJRkDWQFaczO8CO8ilVOMpXRbPXxtPMPpU+pDmn39bArq217nrI2fpOZGNudMN5lBZloXLGEQckkmnskU90GEeUISMD9OSO1VrXde2u7LMmVA0sB7Wr61HlR97PBg7wIevW+n7vKmDhhuzSH+e7v2Y6Q4q24R/t05yU+CYQCqBJ+ffEK5NeVpXesZguD2GE0+HROjxW53PkwZ4IrxAt+N0fNXJSJN1fQNvqbgARVGFJMKQuhWAaPBPyhC1s/Io38HAkOp3TgamUgJeloX1LykpVv5F6XqQLRffrbaCb7jpAthO3FC0OsNsBjqM9o9L4N6Q+MVEOq1WPrhSo3UeeoZmRgUfB26Uw/1er6MjiK4L8ITiXyyMYdvx8Au2g+V6l7TSB7C7GOtuBn3rxiJ1+uZ57ECRtLbYhyjFU/jXA6CNyi6mFBVEc2ILuimhjuCU8w0LzosjgkUZ/z0D7nd94A3z9it3IAIPpUrIgyHFJ53+ORXNqkXGBwwHr4a7VzTYZYbmjDdYsG8HYMEiptforypAI5eW0KVjvV8RpXqZBxBy4cTv4iYtr1cIByGkgPcWZIU/5KqCC9zmdDZHiSSf/X3JTpWf3Jh"
key = "tradingeconomics-charts-core-api-key"
result = decrypt_and_decompress(encrypted_data, key)
print(result)