1

我想在 ASP.NET 中使用 C# 提取网页的标题图像。我检查了窗口和文档对象,但它们没有标题等属性。因此,在 Chrome 的页面选项卡中寻找提取标题图像的方法。

4

2 回答 2

1
using (WebClient client = new WebClient())
{
  Byte[] favico = client.DownloadData("http://msite.com/favico.ico");
}

那是使用WebClient.DownloadData. WebClient.DownloadFile如果您要存储它,也可以使用它。

进一步的防弹方法是下载索引页面并使用 HTML 解析器来查找<link>指定图标应该在哪里的标记(也可以应用于 apple-touch-icon 或其他)。

顺便说一句,我相信您要解析的标签是:

<!-- StackOverflow's implementation: -->
<link rel="shortcut icon" href="http://cdn.../favicon.ico">
<link rel="apple-touch-icon" href="http://cdn.../apple-touch-icon.png">

<!-- Google's implementation: -->
<meta content="/images/google_favicon_128.png" itemprop="image">

<!-- Facebook's implementation: -->
<link href="http://static.ak.fbcdn.net/.../q9U99v3_saj.ico" rel="shortcut icon">
于 2012-08-24T14:50:30.650 回答
0

HTML 规范中没有“标题图像”之类的东西。您在选项卡中或某些浏览器中的 URL 附近看到的图标是使用<link rel="icon"/>构造指定的:

<link type="image/x-icon" href="/images/favicon.ico" rel="icon" />

IE 可能会要求您使用稍微不同的语法:

<link type="image/x-icon" href="/images/favicon.ico" rel="shortcut" />

解析页面 - 并检索href属性值 - 这是图标的路径。

另请注意,IE 8 及以下版本完全忽略此行,而是favicon.ico在站点的根目录中查找文件。有关 IE 的更多信息,请参阅这篇有些旧的文章

于 2012-08-24T14:51:04.473 回答