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

【毎日自動更新】Qiitaのデイリーいいねランキング!ウィークリーもあるよ(避難所)

この記事について

こちらの記事の更新が止まっているようなので、避難所をつくりました。※ 2020/07/12更新

実装イメージ。AWS lambdaで以下のfunctionを8時間ごとに定期実行しています。
import os
import json
import codecs
import requests
from datetime import datetime, date, timedelta


def patch_contents(contents):
    item_data = {
        'title': '【毎日自動更新】Qiitaのデイリーいいねランキング!ウィークリーもあるよ(避難所)',
        'body': f'{contents}',
        'tags': [{'name': 'Qiita'}]
    }
    headers = {
        'Authorization': 'Bearer {SECRET_TOKEN}'}

    requests.patch(
        'https://qiita.com/api/v2/items/50b96ed7b7bbe8ff35e8', headers=headers, json=item_data)


def create_contents(contents):
    today = datetime.strftime(datetime.today(), '%Y/%m/%d')
    yesterday = datetime.strftime(
        datetime.today() - timedelta(days=1), '%Y-%m-%d')
    daily = json.loads(requests.get(
        f'https://us-central1-qiita-trend-web-scraping.cloudfunctions.net/qiitaScraiping/daily/{yesterday}').text)
    weekly = json.loads(requests.get(
        f'https://us-central1-qiita-trend-web-scraping.cloudfunctions.net/qiitaScraiping/weekly/{yesterday}').text)

    contents += '# この記事について'
    contents += f'[こちらの記事](https://qiita.com/takeharu/items/bb154a4bc198fb102ff3)の更新が止まっているようなので、避難所をつくりました。※ {today}更新'
    contents += '# デイリーいいねランキング'
    for i, data in enumerate(daily['data'], 1):
        contents += f'#### {i}位 [{data['title']}]({data['url']})({data['likes_count']}いいね)'
        contents += 'by ' + f'[{data['user']['id']}](https://qiita.com/{data['user']['id']})'

    contents += '# ウィークリーいいねランキング'
    for i, data in enumerate(weekly['data'], 1):
        contents += f'#### {i}位 [{data['title']}]({data['url']})({data['likes_count']}いいね)'

    contents += '※ 元記事の更新が再開したら、こちらの更新は停止する予定です。'
    contents += '※ バグがあればTwiiterでいただけると助かります。(コメントがたまると、このページ自体が重くなるので。。'
    contents += 'Twitter: [@okadato623](https://twitter.com/okadato623)'
    contents += 'データの取得元は以下のAPIを使用させていただいております :pra:'
    contents += '- [Qiitaいいね数ランキングAPIの作成](https://qiita.com/zonbitamago/items/1027b532b174e5ee04b3)'

    return contents


def lambda_handler(event, context):
    contents = ''
    contents = create_contents(contents)
    patch_contents(contents)

デイリーいいねランキング

1位 高卒フリーターから、Web系自社開発企業のエンジニアになるまで(82いいね)

by halhal23

2位 .NET 系の DI コンテナ(24いいね)

by okazuki

3位 Riderがサポートするシェーダー周りの機能メモ(13いいね)

by kajitaj63b3

4位 剛体球衝突アルゴリズムが少し分かるようになる記事(10いいね)

by hiroshi6318

5位 [BOD供養寺] スクレイピングしてきたデータの文字コードがおかしかったので修正した(8いいね)

by hal_sk

6位 ElixirでIoT#4.3:Nervesアプリ開発時のよくあるトラブルをシューティング(7いいね)

by takasehideki

7位 未経験が受託企業に入って1年経ったので、学んだスキル全部書いてみる(7いいね)

by wann

8位 【iOS14】Widget(WidgetKit) まとめ(5いいね)

by shiz

9位 Argo とはなんだ?(5いいね)

by MahoTakara

10位 初心者に伝えたい独学勉強の失敗と教訓(4いいね)

by miriwo

11位 九九表(Elixir)(3いいね)

by torifukukaiou

12位 他のサービスに繋げよう!PowerAppsカスタムコネクターの使い方(MF請求編)(3いいね)

by rockfun

13位 Vueコマンドが使えない vue/cli [環境構築難民を救いたい](3いいね)

by Shuya456

14位 特異性を持つ偏微分方程式の数値計算 (Hardy-Hénon型熱方程式の漸近挙動解析を例として)(3いいね)

by Kenta-Itasaka

15位 Automation Anywhere v11でControl Room API経由でBotを実行する(3いいね)

by RPAbot

16位 一つ目のサービスを作ってから、感じたこと/サービスを作りなおした話(3いいね)

by shibaHaya

17位 Jest で new Date() をモック化する(3いいね)

by clown0082

18位 【OpenCV】【Python】warpPolar()を使用して画像の極座標変換を行う(3いいね)

by Kazuhito

19位 plantFEMで1次元定常拡散方程式ソルバーを自作して動かす。(3いいね)

by soybean

20位 [AWS]S3でReact.jsを超爆速簡易型Webホスティングする(2いいね)

by yamachita0109

ウィークリーいいねランキング

1位 DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる(644いいね)

2位 秘密にしておきたかったんだけど、実はTwitterにはWebページを埋め込めるんだよね(309いいね)

3位 水樹奈々さんの公式サイトがダウンしないのは AWS を上手く使っているからだった。(299いいね)

4位 Qiitaを1年間ほぼ毎日投稿した話と転職の話(293いいね)

5位 UX先行開発のすすめ(235いいね)

6位 TypeScriptのunion型はorです 〜union型、構造的部分型、余剰プロパティチェックの話〜(150いいね)

7位 ついにSequel Proの後継アプリ登場!Sequel AceでMySQLに接続する(132いいね)

8位 ゼロからわかる!GitHub Pagesを使った自前無料ブログの作り方(Jekyll)(131いいね)

9位 【Flutter】もう怖くない!アプリ内課金・定期購入機能を実装する方法を丁寧に説明してみた。(118いいね)

10位 エクストリーム「人類最強ボードゲームAI」AlphaZeroアルゴリズム入門(109いいね)

11位 悲しいとき~ 悲しいとき~ Chrome をインストールするために Edge や IE を起動するとき~(98いいね)

12位 USBポートに差し込むだけ!! VPNで保護されたWi-Fi APの作り方 (RaspberryPi Zero Wを使って)(97いいね)

13位 TypeScript 製のフレームワーク FoalTS を使ってみる(95いいね)

14位 リアクティブマイクロサービス入門(1/2)- 概念編(89いいね)

15位 高卒フリーターから、Web系自社開発企業のエンジニアになるまで(82いいね)

16位 C系プログラマが始めるPython(69いいね)

17位 Pandas で○○したい(68いいね)

18位 【YOLOv5】マスクしてる人・してない人を物体検出(65いいね)

19位 頑張らない勤怠管理〜ラズパイとfreeeでWi-Fi打刻〜(62いいね)

20位 DI って何でするのかわからない人向けに頑張って説明してみる「本来の意味」(60いいね)

※ 元記事の更新が再開したら、こちらの更新は停止する予定です。
※ バグがあればTwiiterでいただけると助かります。(コメントがたまると、このページ自体が重くなるので。。
Twitter: @okadato623
データの取得元は以下のAPIを使用させていただいております。

okadato623
スタートアップではたらくかたわら、趣味で個人開発を嗜むひよっこSREです。 座右の銘は「遊び心駆動人生」
https://okadato623.hatenablog.com/
studist
「伝えることを、もっと簡単に」をミッションにビジュアルSOPマネジメントプラットフォームのBtoB SaaS「Teachme Biz」を開発・運営するスタートアップ
https://medium.com/studist-dev
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
ユーザーは見つかりませんでした