从网页获取缩略图图像

Ban*_*hee 6 c# asp.net-mvc image

我有C#代码用于从URL获取图像,http://i.imgur.com/QvkaduU.jpg但是我如何从这样的网页中获取图像:http://imgur.com/gallery/QvkaduU

有没有"简单"的方法来做到这一点,或者我将不得不获取HTML并构建一个C#解析器,它在HTML中查找比其他图像更大的图像?

让我澄清一下.如果您将http://imgur.com/gallery/QvkaduU(HTML版本)粘贴到例如Facebook的状态更新字段中,它将找到主图像并从中制作缩略图,这正是我正在寻找的行为.问题是,这是怎么做到的?我是否必须编写自己的HTML解析器,或者有一种简单的方法来获取它?

Ric*_*ich 5

没有简单的方法可以获得任意URL的"好"缩略图.

Facebook这样做的算法相当复杂.页面开发人员可以通过添加各种元标记给它一个提示<head>,包括:

<meta property="og:image" content="http://url_to_your_image_here" />
Run Code Online (Sandbox Code Playgroud)

要么

<link rel="image_src" href="http://www.code-digital.co.uk/preview.jpg" />
Run Code Online (Sandbox Code Playgroud)

(更多关于此)

...所以如果你想复制Facebook的算法,你需要获取页面源代码,解析它上面的任何"提示"(你最好检查我没有错过任何其他"提示"格式),如果页面不包含其中一个,则提出后备算法.

更现实的解决方案是使用其他人的URL - >缩略图系统.

如果你喜欢Facebook的版本,我认为你应该能够通过他们的API为给定的URL请求Facebook的缩略图.

提供此类事情的其他服务包括: