我正在尝试从网址中获取最相关的图片。 我想获取最接近页面标题“文本”的图像。 或者以不同的方式。 我想根据它们与标题“文本”的距离给图像分数。 然后获取分数最高的图像。
标题'text'可以在标题元素
中<h1>title text</h1>,<h2>title text<h2>,etc
或者 它可能与
的alt属性匹配<img alt='title text'> tags.
或者 它也可以在任何其他元素中,如
<p> , <span> , <div> etc
例如:
让我们说页面的标题如下:
<title>White Gold Round Diamond Wedding Band: Jewelry: Amazon.com</title>
在页面正文中我们有类似的内容:
<h1>White Gold Round Diamond Wedding Band</h1>
最接近上述标签的元素可以说是在div中,如下所示:
<div class='abc'>
<img src='efg' />
</div>
然后上面的图像应该得到最高分。
相反,如果img的alt属性与标题匹配,则该图像应获得最高分。
提前致谢。
答案 0 :(得分:3)
我不认为这是一个很好的解决方案。
如果设置了og:image
,您可以尝试获取XPath
。
另一种解决方案是使用150px X 150px
获取所有图片,并仅获取具有指定尺寸的图片,例如:大于width/height
且有限0.5
比例,例如来自{{1}到2
。如果有超过1个图像,您可以让用户使用简单的图像滑块选择其中一个,就像在Facebook的共享弹出窗口中一样。
此外,您可以使用类似Embed.LY API的内容,如果您想获得一些产品图片,它可以非常准确地运行。
如果您正在使用Amazon和/或Ebay优惠,那么您可以尝试Amazon's Product Advertising API和Ebay's Finding API以获得最佳效果。您只需从给定的URL中提取商品ID,然后发送API请求以获取该商品的详细信息,包括不同大小的图片。
最后,最佳解决方案可能是组合每种方法并像一体化一样使用它们。