您的位置:首页 - 教程 - C# - 正文
C#根据url网址获取htm文档的title标题
提供一个URL网址,
例如 http://hovertree.net,
怎样把这个网址页面的标题(title)给提取出来?
下面的代码就实现了这个功能。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;

namespace test_for_title
{
class Program
{
static string GetHtml(string url, Encoding encoding)
{
byte[] buf = new WebClient().DownloadData(url);
if (encoding != null) return encoding.GetString(buf);
string html = Encoding.UTF8.GetString(buf);
if (encoding == null || encoding == Encoding.UTF8)
return html;
return encoding.GetString(buf);
}

static string GetTitle(string html)
{
string pattern = @"(?si)<title(?:\s+(?:""[^""]*""|'[^']*'|[^""'>])*)?>(?<title>.*?)</title>";
return Regex.Match(html, pattern).Groups["title"].Value.Trim();
}

static void PrintTitle(string url)
{
string html = GetHtml(url, null);
Console.WriteLine("页面的title为:\n"+GetTitle(html));
}

static void Main(string[] args)
{
PrintTitle("http://hovertree.net");
Console.Read();
}
}
}

评论: