pythonchallenge Level 25


第25关地址:http://www.pythonchallenge.com/pc/hex/lake.html

查看源码

标题:imagine how they sound

提示:图片名称 lake1.jpg   

can you see the waves?

打开:http://www.pythonchallenge.com/pc/hex/lake1.jpg,还是这个拼图,改成wav

打开:http://www.pythonchallenge.com/pc/hex/lake1.wav 得到一段音频

尝试打开 lake2.wav 获得一段新的音频,结合拼图有25块,猜测有25段音频,先写个脚本存下来

import base64
import requests

for i in range(1,26):
    url = "http://www.pythonchallenge.com/pc/hex/lake{0}.wav".format(i)
    Authorization = format(base64.b64encode(b'butter:fly').decode())
    headers = {'Authorization': 'Basic %s' % Authorization}
    response = requests.request("GET", url, headers=headers)
    with open('lake/lake{0}.wav'.format(i), 'wb') as f:
        f.write(response.content)

得到25个音频信息,打开听了下都是杂音

从拼图信息来,把这些音频文件存成图片格式,进行拼图。拼图是5*5顺序。

import wave
from PIL import Image
img = Image.new('RGB',(300,300))
ws = [wave.open('lake/lake{0}.wav'.format(i)) for i in range(1,26)]
for i in range(25):
    data = ws[i].readframes(ws[i].getnframes())
    im = Image.frombytes('RGB',(60, 60), data)
    img.paste(im,(60 * (i % 5),60 * (i//5)))
img.save("lake/lake.png")

得到一张图

获得下一关地址:http://www.pythonchallenge.com/pc/hex/decent.html