Help us understand the problem. What is going on with this article?

QiitaアドベントカレンダーのはてブランキングをSlackに通知する

More than 3 years have passed since last update.

TL;DR

企業・学校・団体アドベントカレンダーをみんなで運営していると、「誰が一番はてブ集めたか」って気になるよね。
なので、はてブ数をSlackにランキング形式で投稿するクローラー&ボットを作ったよ、というお話。

https://github.com/nisshiee/adventcalendar-ranking

中身

  • 環境変数に、以下のような情報をセット
    • 取得するQiitaアドベントカレンダー名、年次など
    • 通知先のSlack Incoming WebhookのURL
  • 実行すると以下のように動作
    • Qiitaアドベントカレンダーページをクロールし、記事一覧(投稿済であればURLも取得)を作成
    • はてなブックマークAPIを使って、各記事のはてブ数を取得
    • 記事一覧をはてブ数降順ソートして、それっぽく整形
    • SlackのIncoming Webhookをコールして通知
  • アーキテクチャ
    • Ruby 2.3.3
    • Rake(タスクランナー)
    • Nokogiri(Qiitaアドベントカレンダーページのスクレイピング)

運用

  • herokuにそのままデプロイ可
    • 環境変数をheroku画面からセット(環境変数制御で他のアドベントカレンダーにも使える)
    • schedulerアドオンを使ってDailyでrakeタスクを実行

効果

  • 「はてブ集められた記事とそうでない記事の違いはどこにあるのか」等の議論が発生
  • これから記事投稿予定の人のモチベーション向上

もうちょっとがんばろうと思っている所

  • Deploy to herokuボタンを作ってみたい
nisshiee
Speeeサーバサイドスペシャリスト Scala/Rubyエンジニア
http://nisshiee.hatenablog.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした