首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

故宫博物院的藏品图,防爬 老牛哔了,切得七零八落

  •  
  •   Mavious · 91 天前 · 1996 次点击
    这是一个创建于 91 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有几个藏品美的不行,想下载原图看。 抓包看了下,特么的切成尺寸 200 多的方块碎片,7_5.jpg ,4_10.jpg 等等等等

    其实要爬也容易,找规律批量 down 碎片下来拼。

    可是我并不想爬啊,下载几张高清晰藏品图欣赏欣赏就行了,费这老牛鼻子的功夫。。。。 恼火。

    都是公版古董了,还搞得七零八落,难不成公版还怕人山寨。

    要下的藏品是这个

    www。dpm。org。cn/collection/jewelry/231382.html

    第 1 条附言  ·  90 天前
    一早起来发现光涨收藏不涨回复啊!大神呢大神呢???
    有大神给看看 10~11 楼的钓原图,有戏么???钓出来就是完美解决啦~~

    临时性解决办法在 13L
    21 回复  |  直到 2019-07-24 13:51:13 +08:00
        1
    yamedie   91 天前
        2
    Kirscheis   91 天前 via Android
    虚拟屏幕截图大法可破
        3
    Mavious   91 天前
    @yamedie 看放大图,有更大的呢。不知道有多大,反正比 1024 大一点。
        4
    nolo   91 天前
    @Kirscheis 有水印哈哈
        5
    Mavious   91 天前
    我以为只是为了节省流量才切碎的
    结果看到这个藏品不让唤起 F12,就知道是故意这么搞的了
    digicol。dpm。org。cn/cultural/detail?id=ce90d95c05aa41bc83477df2e07a3fd6

    当然要强制唤起也容易,先 F12 再开链接嘛。。。。要么上 fiddler
    当然这个藏品也是切碎的了。

    然后找了个现成轮子,但是作者什么注释都没有,看得一头雾水。。
    github。com/EternalZZX/dpm-download/blob/master/download.py
        6
    Mavious   91 天前
    @nolo 你抓包看一下就明白了,水印是一张单独的透明底 png,直接用 ublock 毙掉就行了。
    但是大图是不成的了,只有人工拼了。要么暴力截图。我屏幕 19 寸,暴力截图效果也不好。而且我想要原图。。。。
        7
    dodo2012   91 天前
    这切图的切的,是为了加载么?
        8
    yamedie   91 天前   ♥ 2
    打开控制台
    var c = document.querySelector('canvas');
    c.toDataURL();
    得到图片的 base64 串
    但有一个问题是: 超出屏幕可见区域的部分画面不显示, 谁再想想办法, 感觉是用不着拼接的
        9
    Mavious   91 天前
    更新一下,看到一个教程了,按图索骥,原图尺寸
    <Size Width="4707" Height="3713" />

    教程采用的方法是暴力下载全部碎片,再拼接。。。

    zhuanlan。zhihu。com/p/4412 [不是 QQ 号你干嘛不让我发呢] 1393

    感谢 8 楼,我还在搜索方案。
    故宫这么有名,说不定也有人遇到了和我一样的困难。。。
        10
    silencefent   91 天前   ♥ 2
    openseadragon.github.io
    不是反爬,是用了这个轮子,点开图片后的大图类似地图异步加载图块
    找原图要研究这个轮子把原图位置默认放在那个路径下
        11
    NotNil1   91 天前   ♥ 1
    @silencefent 我从网上看,这个轮子是可以不放原图的,原图切好后放到这个网站目录下就可以使用,所以可能,下载不到原图。一个简单的例子 https://www.cnblogs.com/yingjiehit/p/4362377.html。
        12
    bibizhang   91 天前
    10 楼说的对,高清的大图都得这么搞。
        13
    NotNil1   91 天前   ♥ 1
    @Mavious 我试了 4 楼的 py 脚本,可以下载,命令就是

    python download.py https://en.dpm.org.cn/dyx.html?path=/tilegenerator/dest/files/image/8831/2011/3479/img0007.xml

    会有一个缩略图,和一个文件夹,文件夹中是切割好的图片,按照矩阵拼接起来就好了
        14
    learnshare   91 天前   ♥ 1
    瓦片图,地图也都是这么处理的,因为没法一次加载所有数据
        15
    Mavious   91 天前 via iPhone
    @ljtletters 谢谢,我是 py3.6,运行了一下发现没有 pil 模块,回去装上模块再试
        16
    NotNil1   91 天前   ♥ 1
    @Mavious
    我用的 python2 没问题。
    我发现那个不是缩略图就是合并好的图,merge_pic 方法就是合并图片的方法。
    合并后的图只有几百 K 大,所以第一次看结果给我造成了误解。
        17
    LZSZ   91 天前
    这些文物要是能 360 度看就好了
        18
    Mavious   91 天前   ♥ 2
    @ljtletters

    折腾了一下,模块装好了,SSL 证书报错,摆渡了一下,加了个 verify=False 跳过了。然后就跑起来了。
    很不错,如你所说,有碎片也有( 285 个碎片,1.28MB ),合成图也有( 1MB )。
    xml 文件里说是 4707x3713,合成之后是 4743x3741,基本一致,在找不到原图的情况下……已经非常好了。
    so goooooooooood
    圆满解决。开心了卷走了七八个藏品图。
    谢谢你。

    --------------

    那个轮子……我技术很差,基本没看懂原图搁哪儿了=_=
        19
    xmoiduts   91 天前 via Android
    想起了我爬 overviewer minecraft 地图瓦片的那段日子,要拼接 /比对差异,竟然用 pillow 一个库就撸出来了。
        20
    php01   90 天前
    谷歌文化学院的图片也是瓦片图,弄了很久,放弃了
        21
    Threeinchtime   90 天前
    selenium 一把唆
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2010 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 00:12 · PVG 08:12 · LAX 17:12 · JFK 20:12
    ♥ Do have faith in what you're doing.