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

为什么爬取的图片外链无法显示?

  •  
  •   GhostEX · 2016-06-04 04:52:09 +08:00 · 2059 次点击
    这是一个创建于 2902 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如从什么值得买爬取的一个图片链接:

    <img href="http://y.zdmimg.com/201601/19/569dcb47d27aa.jpg_d200.jpg" alt="">
    

    显示图裂了,这是为啥?

    13 条回复    2016-06-04 13:45:30 +08:00
    YUX
        1
    YUX  
       2016-06-04 04:58:07 +08:00
    没觉得裂了啊
    GhostEX
        2
    GhostEX  
    OP
       2016-06-04 05:44:44 +08:00 via iPhone
    @YUX 好像把 url 放到 img 标签里再打开就是裂的
    YUX
        3
    YUX  
       2016-06-04 05:48:52 +08:00   ❤️ 1
    @GhostEX 网站检查 Referer 防盗链
    浏览器上应该不允许伪造 Referer,要么你都下载到你的服务器上,这样占你的硬盘也刷你的流量
    要么你自己代理一下只刷你流量不占你硬盘
    R18
        4
    R18  
       2016-06-04 05:54:39 +08:00 via Android
    有一种东西叫做防盗链
    YUX
        5
    YUX  
       2016-06-04 06:23:10 +08:00   ❤️ 1
    给你一个非常简单的 flask 代理

    @app.route('/<path:url>')
    def proxy(url):
    r = requests.get("http://"+url, stream=True)
    def generate():
    for chunk in r.iter_content(1024):
    yield chunk
    return Response(generate(), headers = r.raw.headers.items())

    你在你的网站上将图片连接全改为
    http://YOUR_DOMAIN/y.zdmimg.com/201601/19/569dcb47d27aa.jpg_d200.jpg
    就会自动代理 http://y.zdmimg.com/201601/19/569dcb47d27aa.jpg_d200.jpg 这张图片,你可以参考一下

    这个代码取自我的 gossl 项目,https://github.com/YUX-IO/gossl
    GhostEX
        6
    GhostEX  
    OP
       2016-06-04 06:31:40 +08:00 via iPhone
    @YUX 赞,非常感谢,我等会去试下
    ob
        7
    ob  
       2016-06-04 08:23:32 +08:00 via Android
    防盗链破解
    wangyongbo
        8
    wangyongbo  
       2016-06-04 09:41:08 +08:00
    img 有 href 属性? 换成 src 呢?
    imgalaxy
        9
    imgalaxy  
       2016-06-04 09:43:56 +08:00 via Android
    cxshun
        10
    cxshun  
       2016-06-04 09:47:59 +08:00
    img 的是 src 属性, href 是 a 标签的啊
    Andy1999
        11
    Andy1999  
       2016-06-04 09:54:11 +08:00 via iPhone
    GhostEX
        12
    GhostEX  
    OP
       2016-06-04 12:41:37 +08:00 via iPhone
    @wangyongbo 没改回来...之前自作聪明把 src 改成 href 试了下...
    SourceMan
        13
    SourceMan  
       2016-06-04 13:45:30 +08:00 via iPhone
    哪里是 href
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.