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 】
相关推荐:
个人摄影网站制作流程,摄影爱好者都去什么网站?
JavaScript常见的五种数组去重的方式
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
如何快速查询网址的建站时间与历史轨迹?
如何在IIS中配置站点IP、端口及主机头?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何在橙子建站中快速调整背景颜色?
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Android利用动画实现背景逐渐变暗
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何快速搭建高效简练网站?
如何构建满足综合性能需求的优质建站方案?
jQuery中的100个技巧汇总
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
Laravel中的withCount方法怎么高效统计关联模型数量
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
canvas 画布在主流浏览器中的尺寸限制详细介绍
如何在 React 中条件性地遍历数组并渲染元素
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
香港服务器如何优化才能显著提升网站加载速度?
Java遍历集合的三种方式
清除minerd进程的简单方法
实例解析angularjs的filter过滤器
深圳网站制作培训,深圳哪些招聘网站比较好?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
JavaScript如何实现错误处理_try...catch如何捕获异常?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
教你用AI润色文章,让你的文字表达更专业
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Laravel怎么使用artisan命令缓存配置和视图
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何实现API版本控制_Laravel版本化API设计方案
如何在IIS中新建站点并配置端口与物理路径?
javascript基于原型链的继承及call和apply函数用法分析

