c#获得网页中HTML的标题

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            WebRequest oRequest = WebRequest.Create("http://www.baidu.com/");
            WebResponse oResponse = oRequest.GetResponse();

            StreamReader oReader = new StreamReader(oResponse.GetResponseStream(),Encoding.GetEncoding("GB2312"));

            string html = oReader.ReadToEnd();

            Match m = Regex.Match(html, "<title>(.*)</title>");

            if (m.Groups.Count == 2)
                Console.WriteLine(m.Groups[1].Value);

            Console.ReadLine();
        }
    }
}

这段代码适合取出HTML下指定标记块下的内容,但是由于HTML很难严格的说其是结构化的数据,所以并不是所有的标记内容都能取出,比如网页中会存在多个<td></td>,那么要取的内容存在于哪对标记中就很难判断.
应用到的命名空间:
using System.Net.其下有WebRequest和WebResponse
using System.IO.用到StreamReader
using System.Text.RegularExpressions.正则表达式,比截取字符串要好用的多

posted @   哥本哈士奇(aspnetx)  阅读(1186)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2006-12-24 vista试用体验笔记
点击右上角即可分享
微信分享提示