我想在 ASP.NET 中使用 C# 提取网页的标题图像。我检查了窗口和文档对象,但它们没有标题等属性。因此,在 Chrome 的页面选项卡中寻找提取标题图像的方法。
问问题
4446 次
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 回答