之前(一年前了~~我咧)用python的BS4練習了簡單的udn新聞網頁擷取、分析
這次趁著玩GoLang的機會,也想試試看如何用Go來完成同樣的工作。畢竟Go就是為網路而生啊~對於網路應用方面應該是更加得心應手吧!呵~~自己不負責任的胡亂猜想
好了~~不廢話了!
這次呢~~用了goquery這個模組來進行網頁內容的分析,功能就類似python中BS4模組的功能。
正好可以順道介紹一下,在Go裡面安裝模組的方式:
go get 模組名稱
=====================================================
首先:這次要安裝的goquery安裝方式如下:在終端機(命令提示字元)下輸入
go get github.com/PuerkitoBio/goquery
基本上~~goquery的使用,分成以下幾個步驟:
1.取得網頁內容: func NewDocumentFromReader(r io.Reader) (*Document, error)
2.設定查詢條件:func (s *Selection) Find(selector string) *Selection
3.獲取查詢結果:func (s *Selection) Find(selector string) *Selection
4.提取所需的網頁元素:func (s *Selection) Attr(attrName string) (val string, exists bool)
看完上述整理~~只有一個感覺~嗯...程式人的世界真是枯燥且乏味啊!(哩是滴供啥毀啦🤣)😂
好了,還是直接上程式碼🐎............
跟python BS4一樣~大概十幾二十行就可以完工(中間省略了些查核及錯誤處理)
執行程式:go run go檔名
對應goquery的使用階段~~上述程式碼的對應整理如下:
1.取得網頁內容: 11~14行
2.設定查詢條件 + 3.獲取查詢結果:16行
4.提取所需的網頁元素:17~21行
至於查詢條件以及所需網頁元素的設定方式,有需要的朋友請參考之前python那篇的說明!
好~~就先這樣囉!
後續有精神~在繼續用Go對應玩玩之前python的一些操作,比較看看!
沒有留言:
張貼留言