Hexirp / github-trends

Scrape GitHub's Trends

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

github-trends

Build Status

GitHub が提供している Haskell リポジトリのトレンドをスクレイピングして slack に投稿するプログラムです。 日本 Haskell ユーザーグループ公式 Slack でトレンドを見たくて作りました。 もちろん、Haskell製です!

仕組み

トレンドのスクレイピング及び整形を行った後、引数に渡された古いタイプの Slack トークンを使って投稿します。 見ての通り非推奨なのですが、新しいタイプのトークンはapp数を消費してしまうみたいなのでこの方法をあえて選択しています。

デプロイは Travis CI で行っています。 デプロイの時にプログラムを実行するようにして、Cron 機能を使って毎日ジョブを実行させています。 古い Slack トークンはパスワードと同等に扱わなければならない代物なので Encrypt 機能を使って隠しています。

内部

http-conduit ライブラリを使用して週間でのトレンドのページを取得します。 その後、html-conduit ライブラリを使用してXMLデータとして読み込み、xml-conduit ライブラリを使用してリポジトリ名をリストの形で取り出します。 そのリポジトリのリストを、( Slack の表記での)リストに整えて、メッセージを構築して http-conduit をまた使用して送信します。

About

Scrape GitHub's Trends

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 100.0%