快速下载数据的方法:来自chrome开发者工具网络窗口的图像?

Mak*_*kka 5 javascript google-chrome image developer-tools

我正在寻找一种快速方法来下载我可以在开发人员工具的网络选项卡中看到的所有图像?它们以 data:image/png;base64 链接的形式出现。您可以将它们单独打开到一个新选项卡中,然后从那里手动保存它们,但这似乎是唯一的方法。保存整个网页或 .har 文件似乎无法捕获它们。我尝试过的任何插件都没有剂量。:/

有没有一种快速的方法可以拯救他们所有人?因为手动执行此操作将花费一生的时间。

最好的问候,马特

Mak*_*kka 2

我发现实现我想要的最简单的方法是:按图像过滤,在网络选项卡中选择结果之一,右键单击->复制->将所有内容复制为 CURL(cmd)。这将为您提供所有资源的完整列表,然后您可以刮出每个图像的数据并使用脚本将其转换为文件,这是我为此编写的脚本:

每个资源都保存为新行,如下所示:

curl "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAbklEQVQoU42PsQ3CQAADzxPAKGECRJmO9qeAEWAbOkpC9ywQVoEFOPRCNCgCXNon2Q5AOV/X6ibQAXOhYvaHflHTQvTYwE9pVimnsRKWUwBySRlGJ8OXefsKiPc/Kn6NfN/k4dbYhczaOMmu3XwCriA4HJ2kao8AAAAASUVORK5CYII=" --compressed &
Run Code Online (Sandbox Code Playgroud)

脚本:

import base64

fname = "starvedump.txt"
dataToBeFound = "data:image/png;base64,"
imgext = ".png"
imgpfx = "img/img_"

with open(fname) as f:
    d = f.readlines()

d[:] = [x for x in d if dataToBeFound in x]     
d = [x.replace('curl "' + dataToBeFound, '') for x in d]
d = [x.replace("\" --compressed &\n", "") for x in d]

for i, x in enumerate(d) :
    with open(imgpfx + str(i) + imgext, "wb") as fh:
        fh.write(base64.b64decode(x))
Run Code Online (Sandbox Code Playgroud)