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