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

发布时间 - 2026-01-11 01:35:25    点击率:

本文实例讲述了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();
    }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#正则表达式用法总结》、《C#编码操作技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》

希望本文所述对大家C#程序设计有所帮助。


# C#  # 正则表达式  # 抓取  # a标签  # 链接  # innerhtml  # c#使用htmlagilitypack解析html格式字符串  # C#抓取网页数据 解析标题描述图片等信息 去除HTML标签  # C#自写的一个HTML解析类(类似XElement语法)  # c#使用nsoup解析html乱码解决方法分享 nsoup教程  # C#下解析HTML的两种方法介绍  # C# 使用 WebBrowser 实现 HTML 转图片功能的示例代码  # 利用C#代码将html样式文件与Word文档互换的方法  # C#正则过滤HTML标签并保留指定标签的方法  # 通过C#实现发送自定义的html格式邮件  # c# 使用HtmlAgilityPack解析Html  # 程序设计  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 使用技巧  # 面向对象  # 再为  # 测试工具  # 讲述了  # lt  # prttern  # href  # Encoding  # txt  # GetEncoding 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高防服务器租用指南:配置选择与快速部署攻略  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何在云主机上快速搭建网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  中山网站制作网页,中山新生登记系统登记流程?  PHP正则匹配日期和时间(时间戳转换)的实例代码  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  深入理解Android中的xmlns:tools属性  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Android仿QQ列表左滑删除操作  Laravel怎么使用artisan命令缓存配置和视图  Laravel怎么实现验证码(Captcha)功能  非常酷的网站设计制作软件,酷培ai教育官方网站?  香港服务器选型指南:免备案配置与高效建站方案解析  lovemo网页版地址 lovemo官网手机登录  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Python自动化办公教程_ExcelWordPDF批量处理案例  如何用搬瓦工VPS快速搭建个人网站?  如何在云主机快速搭建网站站点?  如何在IIS服务器上快速部署高效网站?  Laravel如何处理异常和错误?(Handler示例)  网站页面设计需要考虑到这些问题  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何快速生成橙子建站落地页链接?  🚀拖拽式CMS建站能否实现高效与个性化并存?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  原生JS获取元素集合的子元素宽度实例  Laravel如何配置Horizon来管理队列?(安装和使用)  如何在Windows环境下新建FTP站点并设置权限?  实例解析angularjs的filter过滤器  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何在VPS电脑上快速搭建网站?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  ,网页ppt怎么弄成自己的ppt?  做企业网站制作流程,企业网站制作基本流程有哪些?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  如何快速搭建高效服务器建站系统?  phpredis提高消息队列的实时性方法(推荐)  Java遍历集合的三种方式  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】