dwa4821 2016-06-27 06:55 采纳率: 71.4%
浏览 2311

代码功能是获取网页a标签的title

现在这种是取到a标签值,然后遍历输出title。
能不能不需要遍历就输出title的值,一次性输出。
能不能直接取到a标签的title值。

 /// <summary>
        /// 获取网页a标签中title
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string resultHtml = getHtml("http://bbs.csdn.net/topics/391047173");
            //获取a标签中href
            //string regexHref = @"(?is)<a((?!href=)[\s\S])*href=['""]?(?<href>[^'""]*)[^<]*</a>";
            //获取a标签中title
            string regexHrefTitleInA2 = @"(?is)<a[^>]+?title=(['""]?)(?<title>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>";
            var matches = Regex.Matches(resultHtml, regexHrefTitleInA2);
            foreach (Match item in matches)
            {
                if (item.Success)
                {
                    Console.WriteLine(item.Groups["title"].Value);
                }
                Console.WriteLine();
            }
            Console.Read();
        }
        /// <summary>
        /// 获取指定网址内容
        /// </summary>
        /// <param name="url">网址</param>
        /// <returns>网页内容字符串</returns>
        private static string getHtml(string url)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            Stream stream = response.GetResponseStream();
            StreamReader sr = new StreamReader(stream,Encoding.GetEncoding(response.CharacterSet));
            string html = sr.ReadToEnd();
            sr.Close();
            return html;
        }
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 请求分析基于spring boot+vue的前后端分离的项目
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?