用Go語言 正則,爬取資料,槓桿的!

2022-09-18 14:24:11 字數 3352 閱讀 9563

出處 

字元

數量限定

其他

方法

//

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

str := regexp.mustcompile(string

) //

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

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

爬蟲
package main

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

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

func spiderpagedb(index int, page chan int

) str := regexp.mustcompile("

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

alls := str.findallstringsubmatch(result, -1)

for _, j :=range alls

readcount +=temp

} str = regexp.mustcompile("")

alls = str.findallstringsubmatch(result, -1)

for _, j :=range alls

commentcount +=temp

} str = regexp.mustcompile("

post-digg-count\">推薦[(](?s:(.*?))[)]")

alls = str.findallstringsubmatch(result, -1)

for _, j :=range alls

diggcount +=temp

} page

主要工作方法

func working(start, end int)

for i := start; i <= end; i++}//

入口函式

func main()

效果圖如下

其他例項

golang爬蟲爬取經典案例豆瓣,例子可以借鑑,正則要好好利用

//查出有多少條

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(index int

)

"result=", result)

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

ret := regexp.mustcompile(`

100" alt="

(?s:(.*?))"`)

filmname := ret.findallstringsubmatch(result, -1

)

for _, name :=range filmname

ret2 := regexp.mustcompile(`class="

rating_num

" property="

v:**erage

">(?s:(.*?))

filmscore := ret2.findallstringsubmatch(result, -1

)

for _, score :=range filmscore

s**tofile(index, filmname, filmscore)}//

爬取指定url頁面,返回result

//此方法已經被豆瓣視為爬蟲,返回狀態嗎為418,所以必須偽裝頭部用上述辦法

if err1 !=nil

defer resp.body.close()

buf := make(byte, 4096

)

//迴圈爬取整頁資料

for

if err2 != nil && err2 !=io.eof

result += string

(buf[:n])

}return

}

GO 並的爬取捧腹的段子

位址的規律 第一頁 第二頁 第三頁 檢視每個頁面的原始碼,可以看到標題的 if re1 nil 取內容 tmptitle re1.findallstringsubmatch result,1 因為我只過濾第乙個內容 for data range tmptitle 取關鍵資訊,內容 re2 regex...

用python爬取資料進行匯率轉換

an highlighted block import re import json import urllib.request import pandas as pd import datetime import time 填入需要被轉換的貨幣英文縮寫 from currency cny cop ...

python簡單正則的爬取

這是做的第乙個任務,爬取 中的標題和鏈結。紅框中為要爬取的部分 以下為部分源 其實這對資料爬取沒什麼影響,上網查了一下,sid就是為域或本地計算機中建立的每個帳戶分配的唯一 id字串。因為我的電腦中建立.py檔案時會自動生成 author dell 這一行 後來在解決其他問題時,因為它多餘去掉了,很...