• 技术文章 >后端开发 >C#.Net教程

    C#基于正则表达式抓取a标签链接和innerhtml的方法

    黄舟黄舟2017-06-04 09:40:04原创1073
    这篇文章主要介绍了C#基于正则表达式抓取a标签链接和innerhtml的方法,结合实例形式分析了C#使用正则表达式进行页面元素的匹配与抓取相关操作技巧,需要的朋友可以参考下

    本文实例讲述了C#基于正则表达式抓取a标签链接和innerhtml的方法。分享给大家供大家参考,具体如下:

    //读取网页html
    string text = File.ReadAllText(Environment.CurrentDirectory + "//test.txt", Encoding.GetEncoding("gb2312"));
    string prttern = "<a(\\s+(href=\"(?<url>([^\"])*)\"|'([^'])*'|\\w+=\"(([^\"])*)\"|'([^'])*'))+>(?<text>(.*?))</a>";
    var maths = Regex.Matches(text, prttern);
    //抓取出来写入的文件
    using (FileStream w = new FileStream(Environment.CurrentDirectory + "//wirter.txt", FileMode.Create))
    {
        for (int i = 0; i < maths.Count; i++)
        {
          byte[] bs = Encoding.UTF8.GetBytes(string.Format("链接地址:{0},  innerhtml:{1}", maths[i].Groups["url"].Value,
            maths[i].Groups["text"].Value) + "\r\n");
          w.Write(bs, 0, bs.Length);
          Console.WriteLine();
        }
    }
    Console.ReadKey();

    图解正则

    朋友需要截取img标签的src 和data-url 跟上面差不多。。顺便附上

    string text =File.ReadAllText(Environment.CurrentDirectory + "//test.txt", Encoding.GetEncoding("gb2312"));
    string prttern = "<img(\\s*(src=\"(?<src>[^\"]*?)\"|data-url=\"(?<dataurl>[^\"]*?)\"|[-\\w]+=\"[^\"]*?\"))*\\s*/>";
    var maths = Regex.Matches(text, prttern);
    //抓取出来写入的文件
    using (FileStream w = new FileStream(Environment.CurrentDirectory + "//wirter.txt", FileMode.Create))
    {
        for (int i = 0; i < maths.Count; i++)
        {
          byte[] bs = Encoding.UTF8.GetBytes(string.Format("图片src:{0},  图片data-url:{1}", maths[i].Groups["src"].Value,
            maths[i].Groups["dataurl"].Value) + "\r\n");
          w.Write(bs, 0, bs.Length);
          Console.WriteLine();
        }
    }

    以上就是C#基于正则表达式抓取a标签链接和innerhtml的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:C#+JS实现的两个正则替换功能示例分析 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • c语言中源文件编译后生成什么文件• C#中GDI+编程10个基本技巧二• 应用绝对路径与相对路径• ASP.NET使用Ajax如何返回Json对象的方法具体介绍• C/C++深度分析
    1/1

    PHP中文网