Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 你如何找到“我的”呢;“主要”;给定URL的网站图片?_Html_Image_Parsing_Templates - Fatal编程技术网

Html 你如何找到“我的”呢;“主要”;给定URL的网站图片?

Html 你如何找到“我的”呢;“主要”;给定URL的网站图片?,html,image,parsing,templates,Html,Image,Parsing,Templates,假设你被给予 你会如何画出“主”图像 我之所以这么问是因为Flipboard能够从网站上抓取主图像,只需使用URL即可 你可以解析出所有的图像标签。但那又怎样呢?Facebook允许用户从它认为是“主要”图像的几个图像中选择一个。至于自动确定“主”图像,我会根据页面位置、大小、与文本的关系以及(如果你想更复杂的话)其视觉内容来判断它 例如,您可以使用一个简单的人脸检测程序,或查看颜色分解以确定图片是否对您“感兴趣” 编辑:在www.nytimes.com的例子中,我可能只看一下页面结构,因为一个

假设你被给予 你会如何画出“主”图像

我之所以这么问是因为Flipboard能够从网站上抓取主图像,只需使用URL即可


你可以解析出所有的图像标签。但那又怎样呢?

Facebook允许用户从它认为是“主要”图像的几个图像中选择一个。至于自动确定“主”图像,我会根据页面位置、大小、与文本的关系以及(如果你想更复杂的话)其视觉内容来判断它

例如,您可以使用一个简单的人脸检测程序,或查看颜色分解以确定图片是否对您“感兴趣”


编辑:在www.nytimes.com的例子中,我可能只看一下页面结构,因为一个巨大的图像旋转木马位于H1标记的正下方。

在网页中没有任何被认为是“主”图像的东西——HTML或其他任何东西都无法区分这一点。更不用说你可能需要阅读CSS中的所有图像(或者更确切地说是背景图像等)。但如果我必须这样做,我会这样做:

  • 首先,我会决定一个合适的图像大小,比如说最小400x400。(我不想选择任何旧的图像,一些非常小的图像可能会缩放得非常可怕)

  • 然后我会遍历页面上的每个图像

  • 对于我遇到的每个图像,我都会检查it3的大小。 如果它是400x400(我预定义的大小)或更大,我会使用此图像。 如果不是,我会检查它是否是迄今为止我发现的最大的图像,如果是,请将其信息存储在一旁

  • 一旦达到预定数量的图像,我就会检查

    (对于参数,假设为10,但您肯定会更高)我会使用我找到的最大图像(存储在一旁),因为我不想无限期地扫描页面以查找图像


  • 我不相信有一个标准的方法。您可以从查找图像标记开始。Facebook使用这些来为状态更新和评论中发布的URL选择图像

    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
    
    
    
    如果您准备使用第三方,请将其作为收费服务提供

    Embeddely提供了一个强大的API来将标准URL转换为嵌入式URL 来自218家领先提供商的视频、图像和丰富文章预览


    确定URL的“主”图像有多种策略:

    • 许多网站现在声明主图像是什么(对于Facebook OpenGraph或Twitter卡)
    • 有时,可以通过URL或API调用猜测图像(尤其是Instagram等图像托管网站)
    • 主图像也可以通过使用内容提取技术(可读性)分析网页来确定。你可能想过滤掉“噪音”来摆脱跟踪像素或广告
    • 如果所有这些技术都失败了,您可以下载所有图像,并假设最大的图像是最有趣的

    我创建了一个JavaScript库,它使用了这些技术中的大部分来确定URL的“主”图片:。

    如果你只是寻找最大的图片,你很可能会得到一个大广告,比如排行榜(728x90)或摩天大楼(120x600),这是非常正确的。所以你也可以限制最大尺寸。大多数广告都是通过iFrame加载的,所以它们不会成为页面的一部分。但如果这是一个问题,你可以忽略任何IAB标准尺寸。这不是毫无意义的-Flipboard就是一个例子。其他从URL显示“主要”图片的服务包括Summify、Percolate、Facebook和Twitter。谢谢你的建议。关于开放图形标记的更多信息谢谢Maurice-这件事真的很好用,只是对它进行了非常彻底的测试,我发现唯一的微小错误是它带回了本文中的第二幅图像:。除此之外,它完全符合我自己对“主要”形象的定义