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

2016-06-04 04:52:09 +08:00
 GhostEX

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

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

显示图裂了,这是为啥?

2135 次点击
所在节点    问与答
13 条回复
YUX
2016-06-04 04:58:07 +08:00
没觉得裂了啊
GhostEX
2016-06-04 05:44:44 +08:00
@YUX 好像把 url 放到 img 标签里再打开就是裂的
YUX
2016-06-04 05:48:52 +08:00
@GhostEX 网站检查 Referer 防盗链
浏览器上应该不允许伪造 Referer,要么你都下载到你的服务器上,这样占你的硬盘也刷你的流量
要么你自己代理一下只刷你流量不占你硬盘
R18
2016-06-04 05:54:39 +08:00
有一种东西叫做防盗链
YUX
2016-06-04 06:23:10 +08:00
给你一个非常简单的 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
2016-06-04 06:31:40 +08:00
@YUX 赞,非常感谢,我等会去试下
ob
2016-06-04 08:23:32 +08:00
防盗链破解
wangyongbo
2016-06-04 09:41:08 +08:00
img 有 href 属性? 换成 src 呢?
imgalaxy
2016-06-04 09:43:56 +08:00
cxshun
2016-06-04 09:47:59 +08:00
img 的是 src 属性, href 是 a 标签的啊
Andy1999
2016-06-04 09:54:11 +08:00
GhostEX
2016-06-04 12:41:37 +08:00
@wangyongbo 没改回来...之前自作聪明把 src 改成 href 试了下...
SourceMan
2016-06-04 13:45:30 +08:00
哪里是 href

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/283397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX