如何从 url 中获取图片
Posted
技术标签:
【中文标题】如何从 url 中获取图片【英文标题】:How to bring image from url 【发布时间】:2014-08-04 08:29:47 【问题描述】:当您在 Facebook 上分享链接时,它会显示来自该网页的图片。如何将该功能添加到我拥有的论坛?我使用 django(但我不确定这是否重要)。
【问题讨论】:
你会用php吗? 在服务器端,您必须调用链接标识的页面并抓取返回的 html 以查找图像。您将需要一些非常好的逻辑来识别无意义的图标和有意义的图像来使用。 在模板中使用 OG 他会为 Facebook 这样的网站使用 OG 标签从他的网站读取元数据,但这不是他想要的。他需要成为从另一个站点收集信息的人。 OG 似乎是正确使用的标准,因此他可以在某人链接到的页面中搜索 OG 标签,但不能保证会有任何标签。 @BrianStephens 感谢您帮助我解释问题。 【参考方案1】:这是一篇很好的文章,它解释了一个示例算法,用于找到代表外部网页的“最佳”图像。如果外部页面碰巧使用它们,它会检查@petkostas 提到的 OG(开放图)标签。否则,它会自行查找图像。
https://tech.shareaholic.com/2012/11/02/how-to-find-the-image-that-best-respresents-a-web-page/
【讨论】:
【参考方案2】:有一个名为 thumbalizr 的 API。 https://api.thumbalizr.com/
它使用起来很简单,你给它 URL 和 img 的宽度。它会为您提供缩略图。
我敢打赌有很多类似的工具,但这似乎是最受欢迎的工具之一。
编辑:
-
编写一个脚本,将您想要的 URL 添加到此链接
https://api.thumbalizr.com/?url=URL_HERE
使用您刚刚创建的链接中的 HTTP 标头 (X-Thumbalizr-Status) 获取屏幕截图捕获状态。
根据其状态显示屏幕截图或显示它仍在您的 UI 中加载。
【讨论】:
托尼,我需要一种在我拥有的论坛上动态执行此操作的方法。我认为这个在线应用不能达到这个目的。 注意,我不建议你使用在线工具,我建议你应该使用API。 Thumbalizr API 获取 URL 并获取图像。 1. 编写一个脚本,将您想要的 URL 添加到此链接https://api.thumbalizr.com/?url=URL_HERE
2. 使用您刚刚创建的链接中的 HTTP 标头 (X-Thumbalizr-Status) 获取屏幕截图捕获状态。 3.根据它的状态显示屏幕截图或显示它仍在您的UI中加载。更多细节在这里:api.thumbalizr.com【参考方案3】:
Facebook 使用 OG 进行分享,在你的模板中使用 OG 的图片标签。 https://developers.facebook.com/docs/opengraph/howtos/maximizing-distribution-media-content 在模板中使用空块:
% block opengraph %% endblock opengraph %
【讨论】:
以上是关于如何从 url 中获取图片的主要内容,如果未能解决你的问题,请参考以下文章
如何直接从复制或分享 URL 中获取 Instagram 图片或视频 URL?
如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url
如何从 cloudinary 服务器获取所有上传图片的图片 url?