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 如何用stata画出文献中常见的安慰剂检验图
    • ¥15 c语言链表结构体数据插入
    • ¥40 使用MATLAB解答线性代数问题
    • ¥15 COCOS的问题COCOS的问题
    • ¥15 FPGA-SRIO初始化失败
    • ¥15 MapReduce实现倒排索引失败
    • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
    • ¥15 找一位技术过硬的游戏pj程序员
    • ¥15 matlab生成电测深三层曲线模型代码
    • ¥50 随机森林与房贷信用风险模型