C#基于正则表达式抓取a标签链接和innerhtml的方法
程序员文章站
2023-12-06 11:49:28
本文实例讲述了c#基于正则表达式抓取a标签链接和innerhtml的方法。分享给大家供大家参考,具体如下:
//读取网页html
string text = f...
本文实例讲述了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正则表达式在线测试工具:
正则表达式在线生成工具:
更多关于c#相关内容感兴趣的读者可查看本站专题:《c#正则表达式用法总结》、《c#编码操作技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结》
希望本文所述对大家c#程序设计有所帮助。