Html 从网页中提取*相关*图像

Html 从网页中提取*相关*图像,html,parsing,image-extraction,Html,Parsing,Image Extraction,我有几个推特支持的新闻聚合网站。我一直计划添加我在twitter上找到的文章中的图片 如果我下载页面并使用标签提取图像,我会得到一堆图像;并非所有这些都与本文相关。例如,捕捉按钮、图标、广告等的图像。如何提取文章附带的图像?我知道有一个解决方案——Facebook链接共享器做得很好 密顿 重复:我猜Facebook为其支持的各种网站提供了一个链接提取器。类似于id=“content”->img(第1个) 我猜我错了。似乎Facebook使用来定义要使用的图像(og:image)和元数据。我想出了

我有几个推特支持的新闻聚合网站。我一直计划添加我在twitter上找到的文章中的图片

如果我下载页面并使用
标签提取图像,我会得到一堆图像;并非所有这些都与本文相关。例如,捕捉按钮、图标、广告等的图像。如何提取文章附带的图像?我知道有一个解决方案——Facebook链接共享器做得很好

密顿


重复:

我猜Facebook为其支持的各种网站提供了一个链接提取器。类似于id=“content”->img(第1个)


我猜我错了。似乎Facebook使用来定义要使用的图像(og:image)和元数据。

我想出了一个解决方案,有点老套,但对我来说是可行的。下面是我如何得到缩略图

  • 假设我找到的页面标题是“这是一个标题”
  • 我使用它作为对谷歌图像API的查询,然后提取我找到的第一个缩略图
  • 它实际上在大多数情况下都很有效。你自己看看吧

    密顿


    附言:我认为这是一个很好的答案。会给那些回答更优雅的人带来荣誉。

    从页面下载所有图片, 黑名单所有来自广告服务器的图像。 然后找到一些启发性的方法,让你得到正确的图像

    我想是这样的:

    • 最大分辨率+=5个像素
    • 最大文件大小+=10分
    • Jpeg+=2分
    然后取点数最多的图像,然后扔掉剩下的

    可能适用于大多数网站


    (这需要一些试探法)

    已经很久了。但这下一次可能会有所帮助

    您可以使用这个API

    它的使用非常简单,结果是我们所需要的最好的

    使用API的示例:

    <?php
    $url = "http://timesofindia.indiatimes.com/business/india-business/Raghuram-Rajan-not-fit-to-be-RBI-Governor-Subramanian-Swamy/articleshow/52236298.cms";
    
    $result = file_get_contents('https://api.urlmeta.org/?url='.$url);
    $array = json_decode($result,1);
    print_r($array['meta']['image']);
    
    ?>
    
    
    

    这就是你需要的结果。

    好吧,OGP是Facebook正在推动的东西,以便他们能够准确地提取元数据。不幸的是,很多网站不遵循这个标准。这是经典的方法,谢谢你把它放在这里。我有点犹豫是否要走这条路,因为我不确定这将需要多长时间。正如您所说,经过一些调整后,它可能会工作得很好。我在其他地方还发现了几个因素:1]图像的路径。2] 指定宽度和高度的图片durlmeta.org非常酷。适用于几乎所有的电子商务产品页面。