亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

正則方式的自動小偷抓網(wǎng)程序

 更新時間:2011年11月21日 19:01:37   作者:  
公司里面有許多數(shù)據(jù)沒人去錄入,做一個抓取網(wǎng)頁的程序,以前做CMS系統(tǒng)的時候涉及過,不過這次的處理HTML上和以前做了些區(qū)別
有一些瑕疵沒時間細(xì)化,只是實(shí)現(xiàn)了效果,大家看一看這個正則該怎么寫好:
URL:http://news.szhome.com/83642.html
內(nèi)容:
復(fù)制代碼 代碼如下:

object></div></div>
</div>

<div class="share"><div class="linkshare" style="right: 0">

這兩個標(biāo)記之間的代碼。END標(biāo)記的問題解決了,但是郁悶的是START截取的標(biāo)記因?yàn)榈诙€DIV和第三個中間有換行,我無語了不知道怎么處理這個正則。
而且郁悶的是有多處有這種重復(fù)型標(biāo)記,對正則不太熟悉,我的解決方法如下:

復(fù)制代碼 代碼如下:

MatchCollection mc = Regex.Matches(ghoPage.Trim(), @"(?<=<div class=['""]txtmsg['""]>)[\s\S]*?(?=<div class=['""]share['""]><div class=)", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
foreach (Match mm in mc)
{
sb.Append(mc[0].Value.Substring(1933, mc[0].Value.Length - 1933));
}

我算出截取出來多處兩個FLASH廣告DIV的長度是1933,然后處理字符串截取后得到我想要的文本,這樣做的劣勢就是萬一該站改變了兩個FLASH廣告DIV的長度我獲取的數(shù)據(jù)就不是完整的呢,有興趣的研究下,看看換行的DIV正則問題怎么處理。
里面用到了自己寫的一個BUTTON控件,可以在點(diǎn)擊后禁止重復(fù)點(diǎn)擊,然后就是一些判斷,在思路上蠻不錯,可以做到一直抓取,因?yàn)椴唤?jīng)常用就沒做成WINDOWS服務(wù)類型,這樣的程序可以做成WINDOWS服務(wù),把規(guī)則寫在INI文件中,抓錄的規(guī)則和正則也放在配置文件中,這樣就能實(shí)現(xiàn)自動抓錄。

很短的代碼,對這種抓錄有興趣的朋友可以嘗試下。下載

相關(guān)文章

最新評論