目次
きっかけ
Write-Blog-Every-Weekのメンバーのブログ情報をとってくるときに、GAS上でRSSをパースしていました。しかし、今後複数人でメンテナンスをする可能性ができたため、GAS上から移動させることとなりました。JS繋がりでnode.jsへ移行することも考えましたが自分の中でnode.jsへの理解が追いつかず、せっかくなので新しい言語のGo言語へ移行することにしました。
gofeedを使う
タイトルにもある通りgofeedを使いました。「go feed」で調べたときに、広そうな検索ワードであったにもかかわらず上位に出てきたためです。
環境
go version go1.12.5 darwin/amd64
インストール
go get github.com/mmcdole/gofeed
ソース
今回のソースコードは、自分のはてなブログに対して実行しています。様々なURLに変更して試してみてください。
package main import ( "fmt" "github.com/mmcdole/gofeed" ) func main() { url := "https://yoshitaku-jp.hatenablog.com/rss" fp := gofeed.NewParser() feed, _ := fp.ParseURL(url) items := feed.Items for _,item := range items{ fmt.Println(item.Title) fmt.Println(item.Link) } }
出力結果
Wrappalyzerを使ってサイトで使われている技術を見てみよう https://yoshitaku-jp.hatenablog.com/entry/2019/05/19/070000 基本は大切 / Vue.js チュートリアルのToDoリスト作成から学んだこと https://yoshitaku-jp.hatenablog.com/entry/2019/05/06/190000 前向きになろう / 理論と事例でわかる自己肯定感を読んだ https://yoshitaku-jp.hatenablog.com/entry/2019/05/05/233000 わかりやすい説明を / 技術をつたえるテクニック ~分かりやすい書き方・話し方~ を読んだ (中略)
まとめ
RSSを取得してパースする処理が簡単にかけました。GASでは自分でパースしていたので全員分のブログ情報を取得できていませんでしたが、ライブラリを使ったことにより無事全員のブログを表示することができました。非常に嬉しいです。
write-blog-every-week.netlify.com
おしまい