Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
为自定义提要聚合器使用og:image_Image_Rss_User Agent_Meta - Fatal编程技术网

为自定义提要聚合器使用og:image

为自定义提要聚合器使用og:image,image,rss,user-agent,meta,Image,Rss,User Agent,Meta,我正在开发一个自定义RSS提要聚合器,它解析来自各种新闻类型站点的RSS提要,显示摘要并链接回原始站点。没什么特别刺激的 我试图通过使用原始页面的og:image meta标记为每篇文章获取一个图像 然而,我发现og:image标记中的许多URL在编程访问图像时返回400、403或404错误 有些人似乎会在标题中检查浏览器的用户代理字符串,因此仅用于测试,我已将我的用户代理字符串标题设置为Safari的:这会使一些og:image链接正常工作,但这不是一个可接受的解决方案(伪装成浏览器的爬虫)

我正在开发一个自定义RSS提要聚合器,它解析来自各种新闻类型站点的RSS提要,显示摘要并链接回原始站点。没什么特别刺激的

我试图通过使用原始页面的og:image meta标记为每篇文章获取一个图像

然而,我发现og:image标记中的许多URL在编程访问图像时返回400、403或404错误

有些人似乎会在标题中检查浏览器的用户代理字符串,因此仅用于测试,我已将我的用户代理字符串标题设置为Safari的:这会使一些og:image链接正常工作,但这不是一个可接受的解决方案(伪装成浏览器的爬虫)

但是,这对大多数图像不起作用,它们继续返回400/403

假设我测试过的所有站点都没有丢失的图像文件,并且它们主动阻止Facebook/Twitter以外的任何人使用这些图像,那么有没有其他方法可以可靠地以编程方式检索要在RSS聚合器中显示的图像


Feedly等人的聚合内容中,绝大多数似乎都有图像,所以我不清楚为什么会有这样的困难。

您已经找到了解决方案,但这确实不是首选:更改用户代理字符串

你也可以用另一种方式解决这个问题;您只保存图像的URL,而不是自己抓取图像。在RSS提要聚合器中,您使用该直接图像url,以便执行请求的浏览器是真正的客户端,而不是(服务器端启动的)爬虫程序


那行吗?

谢谢@Flaxfield。这将解决用户代理问题,但不会解决仅允许Facebook/Twitter等使用图像的问题。似乎根本没有办法解决这个问题。即使你直接从浏览器打电话?那么,如果您将url嵌入到-页面中-(而不是存储图像)?这些内容提供商仍然可能有不同的过滤/阻止机制。没有办法解决这个问题:)我想不是。。。谢谢弗拉克斯菲尔德