亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

隨手正則寫的CSDN【只看樓主】功能

2019-11-14 16:44:33
字體:
來源:轉載
供稿:網友

寫這個的時候居然沒有看到原來CSDN已經有這個功能了,寫完代碼了突然發現原來早就已經有了。

現把代碼貼出來吧,雖然有很多解析HTML的開源類庫如:http://htmlagilitypack.codeplex.com/,但我一直習慣于正則匹配。

截圖:

呵呵,起碼還能看吧@——#

  1 PRivate void button1_Click(object sender, EventArgs e)  2         {  3             if (!string.IsNullOrEmpty(txtCsdnUrl.Text.Trim()))  4             {  5                 string url = txtCsdnUrl.Text.Trim();  6                 string htmlSource = string.Empty;  7                 htmlSource = GetHtmlSource(url);  8                 int pageCount = GetPageCount(htmlSource);  9                 string context = string.Empty; 10  11                 if (pageCount > 1) 12                 { 13                     for (int i = 1; i <= pageCount; i++) 14                     { 15                         htmlSource = GetHtmlSource(url + "?page=" + i); 16  17                        context+= GetLZArticle(htmlSource); 18                     } 19                 } 20                 else 21                 { 22                     context += GetLZArticle(htmlSource); 23                 } 24  25                 richTextBox1.Text = context; 26  27             } 28             else 29             { 30                 MessageBox.Show("請輸入地址"); 31             } 32         } 33  34         /// <summary> 35         /// 獲取源代碼 36         /// </summary> 37         /// <param name="Url"></param> 38         /// <returns></returns> 39         public string GetHtmlSource(string Url) 40         { 41             WebClient client = new WebClient(); 42             client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 43             Stream data = client.OpenRead(Url); 44             string result = string.Empty; 45             using (StreamReader reader = new StreamReader(data, Encoding.UTF8)) 46             { 47                 result = reader.ReadToEnd(); 48             } 49  50             return result; 51         } 52  53         /// <summary> 54         /// 獲取貼子總頁數 URL格式:http://bbs.csdn.net/topics/390730011?page=2 55         /// </summary> 56         /// <returns>返回最大頁數</returns> 57         public int GetPageCount(string HtmlSource) 58         { 59             int pageCount = 0; 60  61             Regex reg = new Regex("<select class=/"jumpMenu/" name=/"jumpMenu/">(?<val>.*?)</select>", RegexOptions.Singleline | RegexOptions.IgnoreCase); 62             string htmlSource = HtmlSource; 63             Regex reg1 = new Regex("<option.*?>(?<val>.*?)</option>", RegexOptions.Singleline | RegexOptions.IgnoreCase); 64             int count = reg1.Matches(reg.Match(htmlSource).Groups["val"].Value).Count; 65  66             int.TryParse(reg1.Matches(reg.Match(htmlSource).Groups["val"].Value)[count - 1].Groups["val"].Value, 67                          out pageCount); 68  69             return pageCount; 70         } 71  72         /// <summary> 73         /// 獲取文章標題 74         /// </summary> 75         /// <param name="HtmlSource">網頁內容</param> 76         /// <returns></returns> 77         public string GetArticleTitle(string HtmlSource) 78         { 79             string title = string.Empty; 80  81             Regex reg = new Regex("<span class=/"title text_overflow/">(?<title>.*?)</span>", RegexOptions.Singleline | RegexOptions.IgnoreCase); 82  83             title = reg.Match(HtmlSource).Groups["title"].Value; 84  85             return title; 86         } 87  88  89         public string GetAuthorName(string HtmlSource) 90         { 91             string result = string.Empty; 92  93             Regex regex = new Regex("<a class=/"p-author/" href=/"#/">(?<value>.*?)</a>"); 94  95             result = regex.Match(HtmlSource).Groups["value"].Value; 96  97             return result; 98         } 99 100         public string GetLZArticle(string HtmlSource)101         {102 103             string result = string.Empty;104             string authorName = GetAuthorName(HtmlSource);105 106             Regex regex = new Regex("<td valign=/"top/" class=/"post_info .*?/" data-username=/"" + authorName + "/".*?>.*?<div class=/"post_body/">(?<value>.*?)</div>.*?</td>", RegexOptions.Singleline | RegexOptions.IgnoreCase);107 108             for (int i = 0; i < regex.Matches(HtmlSource).Count; i++)109             {110                 result += regex.Matches(HtmlSource)[i].Groups["value"].Value;111                 result += "--------------------分隔線--------------------";112             }113             return result.Trim().Replace("<br />","/r/n");114         }

代碼都在這里了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品香蕉国产| 国产情人节一区| 青草青草久热精品视频在线观看| 欧美国产日本高清在线| 日韩精品极品在线观看| 蜜月aⅴ免费一区二区三区| 2019av中文字幕| 国产精品久久久久99| 国内精品久久久久伊人av| 国语对白做受69| 欧美天堂在线观看| 91av在线播放视频| 色爱av美腿丝袜综合粉嫩av| 亚洲精品久久久久久久久| 国产精品极品美女在线观看免费| 欧美激情按摩在线| 国产v综合ⅴ日韩v欧美大片| 亚洲美女av在线| 亚洲大胆人体视频| 欧美成人亚洲成人日韩成人| 成人黄色在线播放| 国产成人精品电影| 国产一区二区三区久久精品| 日韩三级影视基地| 久久中文字幕国产| 久久网福利资源网站| 国产精品免费视频久久久| 日韩福利视频在线观看| 国产成人精品日本亚洲专区61| 欧美电影免费观看电视剧大全| 精品国产区一区二区三区在线观看| 国内精品国产三级国产在线专| 中文字幕亚洲专区| 欧美激情2020午夜免费观看| 国产精品专区h在线观看| 欧美性猛交xxxxx水多| 色偷偷88888欧美精品久久久| 亚洲欧美激情精品一区二区| 欧美激情中文字幕在线| 日韩午夜在线视频| 亚洲乱码国产乱码精品精天堂| 亚洲最大av在线| 国产精品久久久久久久久借妻| 日韩成人黄色av| 中文字幕一区二区精品| 欧美亚洲国产日本| 国产精品99久久久久久久久久久久| 国内精品中文字幕| 日本免费久久高清视频| 欧美性视频精品| 亚洲深夜福利网站| 欧美性生交xxxxx久久久| 91在线观看免费高清完整版在线观看| 国产一级揄自揄精品视频| 国产成人激情小视频| 亚洲人精选亚洲人成在线| 日本欧美一级片| 欧美高清视频在线观看| 欧美怡春院一区二区三区| 97热在线精品视频在线观看| 亚洲欧洲日产国码av系列天堂| 亚洲成人性视频| 欧美大片大片在线播放| 国产中文字幕亚洲| 亚洲一区二区三区成人在线视频精品| 国产精品成人aaaaa网站| 毛片精品免费在线观看| 欧美成人性色生活仑片| 亚洲精品视频久久| 免费91在线视频| 一区二区av在线| 91精品久久久久久久久久| 欧美日韩在线视频一区二区| 在线观看视频99| 国产aⅴ夜夜欢一区二区三区| 欧美精品18videos性欧美| 成人免费福利视频| 欧美日韩性视频| 97热精品视频官网| 国产精品一区二区久久久久| 成人福利网站在线观看| 91免费人成网站在线观看18| 日韩成人性视频| 欧美国产一区二区三区| 午夜精品久久久久久久99黑人| 久久久久久av| 欧美激情欧美狂野欧美精品| 色99之美女主播在线视频| 亚洲欧美国产精品va在线观看| 97国产精品视频人人做人人爱| 亚洲欧美精品一区| 国产狼人综合免费视频| 国产精品久久999| 欧洲精品在线视频| 中文字幕欧美专区| 欧美在线视频一区| 中文字幕久久亚洲| 国产午夜精品理论片a级探花| 精品久久久一区| 国产999在线观看| 国产亚洲精品美女久久久久| 亚洲欧美日韩精品| 国产又爽又黄的激情精品视频| 亚洲丝袜av一区| www国产亚洲精品久久网站| 久久成人国产精品| 在线一区二区日韩| 久久久久久com| 日韩成人在线视频网站| 4438全国亚洲精品在线观看视频| 欧美成人精品在线| 国产成人av网| 日本最新高清不卡中文字幕| 国产精品自拍视频| 美女黄色丝袜一区| 欧美丰满少妇xxxxx做受| 国产又爽又黄的激情精品视频| 精品欧美国产一区二区三区| 国产+人+亚洲| 色爱av美腿丝袜综合粉嫩av| 精品视频偷偷看在线观看| 亚洲成av人影院在线观看| 俺去了亚洲欧美日韩| 2025国产精品视频| 久久国产精品久久久久| 日韩欧美在线看| 国产亚洲精品久久久| 中文字幕自拍vr一区二区三区| 高清欧美性猛交xxxx| 国产精品直播网红| www.欧美精品| 亚洲美女福利视频网站| 日本国产欧美一区二区三区| 2018中文字幕一区二区三区| 欧美性猛xxx| 欧美国产日韩一区二区三区| 久久久久久成人| 日本精品va在线观看| 亚洲美女喷白浆| 欧美性xxxx极品hd欧美风情| 亚洲精品有码在线| 丝袜美腿亚洲一区二区| 欧美在线激情视频| 欧美裸体xxxx极品少妇| 狠狠躁夜夜躁人人躁婷婷91| 国产a∨精品一区二区三区不卡| 成人久久久久久| 亚洲а∨天堂久久精品喷水| 在线视频国产日韩| 日韩成人激情视频| 日韩精品视频在线观看免费| 久久久久久久av| 人妖精品videosex性欧美| 日韩资源在线观看| 久久精品免费播放| 亚洲精品欧美日韩专区| 亚洲激情视频在线观看| 亚洲精品久久久久久久久久久久| 国产视频久久久久久久| 欧美黑人视频一区| 高清亚洲成在人网站天堂| 亚洲视频第一页| 91网在线免费观看| 精品国产电影一区|