Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@nisshiee

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

TL;DR

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

中身

  • 環境変数に、以下のような情報をセット
    • 取得する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ボタンを作ってみたい
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
1
Help us understand the problem. What are the problem?