C#基于正則表達(dá)式抓取a標(biāo)簽鏈接和innerhtml的方法
本文實(shí)例講述了C#基于正則表達(dá)式抓取a標(biāo)簽鏈接和innerhtml的方法。分享給大家供大家參考,具體如下:
//讀取網(wǎng)頁(yè)html string text = File.ReadAllText(Environment.CurrentDirectory + "http://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 + "http://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標(biāo)簽的src 和data-url 跟上面差不多。。順便附上
string text =File.ReadAllText(Environment.CurrentDirectory + "http://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 + "http://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款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#正則表達(dá)式用法總結(jié)》、《C#編碼操作技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
- c#使用htmlagilitypack解析html格式字符串
- C#抓取網(wǎng)頁(yè)數(shù)據(jù) 解析標(biāo)題描述圖片等信息 去除HTML標(biāo)簽
- C#自寫的一個(gè)HTML解析類(類似XElement語法)
- c#使用nsoup解析html亂碼解決方法分享 nsoup教程
- C#下解析HTML的兩種方法介紹
- C# 使用 WebBrowser 實(shí)現(xiàn) HTML 轉(zhuǎn)圖片功能的示例代碼
- 利用C#代碼將html樣式文件與Word文檔互換的方法
- C#正則過濾HTML標(biāo)簽并保留指定標(biāo)簽的方法
- 通過C#實(shí)現(xiàn)發(fā)送自定義的html格式郵件
- c# 使用HtmlAgilityPack解析Html
相關(guān)文章
C#?wpf實(shí)現(xiàn)任意控件更多拖動(dòng)功能
這篇文章主要為大家詳細(xì)介紹了C#?wpf如何實(shí)現(xiàn)任意控件(包括窗口)更多拖動(dòng)功能,文中的示例代碼講解詳細(xì),有興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11Unity 2017使用UGUI實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)
這篇文章主要為大家詳細(xì)介紹了Unity 2017使用UGUI實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02C#中的靜態(tài)字段double.Epsilon實(shí)例詳解
double.Epsilon 是C#中的一個(gè)靜態(tài)字段,表示 double 數(shù)據(jù)類型的最小可表示的正數(shù)值,這篇文章主要介紹了C#中的靜態(tài)字段double.Epsilon的相關(guān)知識(shí),需要的朋友可以參考下2024-01-01C#畫筆使用復(fù)合數(shù)組繪制單個(gè)矩形的方法
這篇文章主要介紹了C#畫筆使用復(fù)合數(shù)組繪制單個(gè)矩形的方法,涉及C#使用畫筆繪制圖形的相關(guān)技巧,需要的朋友可以參考下2015-06-06C#使用NPOI實(shí)現(xiàn)Excel和DataTable的互轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了C#使用NPOI實(shí)現(xiàn)Excel和DataTable的互轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02C#反射之基礎(chǔ)應(yīng)用實(shí)例總結(jié)
這篇文章主要介紹了C#反射之基礎(chǔ)應(yīng)用實(shí)例總結(jié),包括了反射的基本原理與用法實(shí)例,需要的朋友可以參考下2014-10-10C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能
這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)透視變換的功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下2023-11-11