質問
私の再訪問の際にsom古いコードのいずを取得するためのメソッドのタイトルにより、当ウェブサイトに掲載さ。で何を呼び出すとよいでしょう安定した方法でられない場合が多い結果が出るまでにしていても、生産の誤ります。また、時には失敗した場合に表示一部の文字のタイトルとして彼の代替エンコーディングです。
いて改善提案を行うこと旧バージョンになっていますか?
public static string SuggestTitle(string url, int timeout)
{
WebResponse response = null;
string line = string.Empty;
try
{
WebRequest request = WebRequest.Create(url);
request.Timeout = timeout;
response = request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
StreamReader streamRead = new System.IO.StreamReader(streamReceive, encoding);
while(streamRead.EndOfStream != true)
{
line = streamRead.ReadLine();
if (line.Contains("<title>"))
{
line = line.Split(new char[] { '<', '>' })[2];
break;
}
}
}
catch (Exception) { }
finally
{
if (response != null)
{
response.Close();
}
}
return line;
}
最後のご注意見ていきたいと思っているコードが速いとしても、そのまままでブロックのページとして取得していないだけでは得ることのできるサイトヘッダの全体のページです。
解決
簡単なようにコンテンツ:
WebClient x = new WebClient();
string source = x.DownloadString("http://www.singingeels.com/");
よりシンプルで確実にタイトル:
string title = Regex.Match(source, @"\<title\b[^>]*\>\s*(?<Title>[\s\S]*?)\</title\>",
RegexOptions.IgnoreCase).Groups["Title"].Value;
他のヒント
おそらくこの提案には新しい世界が開けます またこの問いに来ましたこ
ダウンロード"Htmlのアジリティパック"から http://html-agility-pack.net/?z=codeplex
またはnuget: https://www.nuget.org/packages/HtmlAgilityPack/ を追加します。
追加folow用のコードファイル:
using HtmlAgilityPack;
書folowingコード法|静的接触:
var webGet = new HtmlWeb();
var document = webGet.Load(url);
var title = document.DocumentNode.SelectSingleNode("html/head/title").InnerText;
資料
https://codeshare.co.uk/blog/how-to-scrape-meta-data-from-a-url-using-htmlagilitypack-in-c/ HtmlAgilityPackを得るタイトルやメタ
Inorderこまいカップルに入っています。
- くアプリのネジ切り加工できるよう工程で複数の要求時の最大化をHTTP要求されています。
- Durring、非同期要求をダウンロードいただけしたいデータを引き戻すような構文解析のデータとしても探し
- れた正規表現をコンセントから抜きタイトル名
そして、この前のSEOボットとして取り扱っており10,000要求。あなただけることを、確認する必要があり各ユーザーのウェブリクエストできる自分が含まれる。
所属していません StackOverflow