1

ASP.NET で C# を使用して Web ページのタイトル画像を抽出したいと考えています。ウィンドウとドキュメント オブジェクトを確認しましたが、タイトルなどのプロパティがありません。そこでChromeのページタブのようにタイトル画像を抽出する方法を探します。

4

2 に答える 2

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

を使用してWebClient.DownloadDataいます。WebClient.DownloadFile収納したいときにも使えます。

もう 1 つの確実な方法は、インデックス ページをダウンロードし、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 に答える