假设你给http://nytimes.com 你会如何取出“主”图像?如何找到网站的“主要”图片,给定网址?
我问的原因是因为Flipboard能够从网站抓取主图像,只需使用URL。
你可以解析出所有的图片标签。但那又如何?
假设你给http://nytimes.com 你会如何取出“主”图像?如何找到网站的“主要”图片,给定网址?
我问的原因是因为Flipboard能够从网站抓取主图像,只需使用URL。
你可以解析出所有的图片标签。但那又如何?
真的没有任何东西被认为是网页中的“主要”图像 - 没有任何内容用于区分这一点。更不用说你可能需要阅读CSS中的所有图像(或者更确切地说是背景图像等)。但如果我必须这样做,这是我会做的:
一旦我达到我检查
图像的预定数量(参数可以说10,但肯定你恐怕会更高),我会用我发现的最大的图像(存储在旁边),因为我不想无限期地扫描页面寻找图像!
如果你只是寻找最大的图像,你很可能会得到一个巨大的广告,如排行榜(728x90)或摩天大楼(120x600) – kijin 2010-10-30 04:24:40
这是非常真实的。所以你可以限制最大尺寸。 – pinkfloydx33 2010-10-30 04:37:23
大部分广告通过iframe加载,因此它们不会成为页面的一部分。但如果这是一个问题,你可以忽略任何IAB标准尺寸。 – gabrielk 2010-10-31 06:43:43
Facebook允许用户从中选择几张被认为是“主”图像的图像中的一幅。至于自动确定一个“主”图像,我会根据页面的位置,大小,与文本的关系以及(如果你想更复杂一些)其视觉内容来判断它。例如,您可以使用简单的人脸检测程序,或查看颜色细分以确定图片是否对您“有趣”。
编辑:在www.nytimes.com的情况下,我可能只是看一下页面结构,因为图像的大旋转木马正好位于H1标签的下方。
我不相信有一个标准的方法。您可以从寻找Open Graph Protocol图片标签开始。 Facebook使用这些来为状态更新和评论中张贴的网址选择图像。
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
如果你准备使用第三方,Embedly报价以此为收费服务。
Embedly提供了一个功能强大的API标准的URL转换为嵌入式 视频,图像,以及来自218个领先供应商丰富的文章预览。
+用于嵌入。感谢您的建议。 – 2014-03-15 19:07:24
关于Open Graph标记的更多信息https://developers.facebook.com/docs/sharing/webmasters – binaryfunt 2016-10-19 11:44:47
有许多策略来决定什么是URL的“主”的形象:
我创建了一个使用大多数这些技术来确定URL的“主”图片的JavaScript库:ImageResolver。
感谢Maurice - 这个东西真的很好用,只是测试它非常彻底,我发现的唯一微小的不准确是它带来了返回本文中的第二张图片:http://www.bbc.com/news/uk-35781613。除此之外,它完全符合我对“主”形象的定义 – d3wannabe 2016-03-11 11:53:04
“主要图像”是相当无意义的。你在谈论最大的形象?你会如何看待[StackOverflow.com](http://stackoverflow.com/)上的“主要”图像? – meagar 2010-10-30 03:12:55
你的意思是徽标? – Vamsi 2010-10-31 06:11:11
不是毫无意义 - Flipboard作为例子。显示来自网址的“主要”图片的其他服务包括Summify,Percolate,Facebook和Twitter。 – 2012-01-17 23:00:09