Golang爬蟲及正規表示式的實現示例

2022-09-21 09:24:10 字數 2028 閱讀 2164

目錄

最近學習go,爬取**資料用到正規表示式,做個總結;

go中正規表示式採用re2語法(具體是啥咱也不清楚);

方法//引數正則字串,返回值*regexp

str := regexp.mustcompile(string)

//引數要查詢的資料,查詢次數-1為全域性,返回值二維陣列,查詢出的字串+正則字串

var result string = str.findallstringsubmatch(data, -1)

爬取部落格園所有文章閱讀量,評論,推薦;

//http讀取網頁資料寫入result返回

}//橫向縱向爬取文章標題資料,並累計數值

func spiderpagedb(index int, page chan int)

str := regexp.mustcompile("post-view-count\">閱讀[(](?s:(.*?))[)]")

al程式設計客棧ls := str.findallstringsubmatch(result, -1)

for _, j pqdiaw:= range alls

readcount += temp

} str = regexp.mustcompile("post-comment-count\">評論[(](?s:(.*?))[)]")

alls = str.findallstringsubmatch(result, -1)

for _, j := range alls

commentcount += temp

} str = regexp.mustcompile("post-digg-count\">推薦[(](?s:(.*?))[)]")

// 查出有多少條

n := len(filmname)

// 先寫抬頭 名稱 評分

f.writestring("電影名稱" + "\t\t\t" + "評分" + "\n")

for i := 0; i < n; i++

}func main()

func working(start int, end int)

}// 爬取乙個豆瓣頁面資料資訊儲存到文件

func spiderpage(www.cppcns.comindex int)

"result=", result)

// 解析,編譯正規表示式 ---電影名稱

ret := regexp.mustcompile(`

(?s:(.*?))

Golang 正規表示式

常用語法 golang of regexp 匹配任意換行符以外的任意字元 w 匹配字母 下劃線 漢字 數字 s 匹配任意的空白符 d 匹配數字 b 匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 重複零次或更多次 重複一次或更多次 重複零次或一次 重複n次 重複n次或更多次 重複n,m次之間 ...

Golang 正規表示式

正規表示式是一種進行模式匹配和文字操縱的複雜而又強大的工具。雖然正規表示式比純粹的文字匹配效率低,但是它卻更靈活。按照它的語法規則,隨需構造出的匹配模式就能夠從原始文字中篩選出幾乎任何你想要得到的字元組合。go語言通過regexp標準包為正規表示式提供了官方支援,如果你已經使用過其他程式語言提供的正...

golang正規表示式

今天用原生的go嘗試寫了下爬取頁面資料,並正則匹配需要的資料。邏輯比較簡單,就是啟動了幾十個協程進行頁面爬取,然後進行正則匹配。匹配除換行符以外的任意字元,要匹配換行可以用 s s d d w w 進行匹配 匹配除換行符以外的任意字元 w 匹配字母或數字或下劃線或漢字 等價於 a za z0 9 s...