背景#
最近、QQ ボットを使うのに夢中になっていて、よくサードパーティの API を使ってデータを接続し、oicqプロトコルライブラリを使っていくつかのシンプルだけど意味のある機能を実現していました、群友を楽しませるために。
比較的代表的な例は「毎日 60 秒で世界を理解する」です。毎日 10 件ほどの短いホットニュースがあり、機能はシンプルですが、内容はかなり意味があります、特にニュースを全く見ない私たちのような子供にとっては。
なぜ自分で作るのか#
多くのウェブサイトの API サービスは安定していないため、時々ダウンしたり直接サービスを終了したりします。そこで、Google で調べたところ、ほとんどのインターフェースのデータソースはこの毎日 60 秒で世界を理解するの Zhihu コラムに指し示されていることがわかりました。
どうやって作ったのか#
猛然とした操作の後(要するに単純な)、彼のコラムデータインターフェースを見つけました:JSON
GET リクエストで、暗号化やクロスドメイン、リクエストヘッダーの制限などはなく、F12
を押すとインターフェースが出てきました
https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items
この API の URL のオプションパラメータ:
limit
返されるデータの件数offset
ページングパラメータ
データを取得した後、高性能で低遅延かつキャッシュ機能を備えた API を迅速に作成するために、deno
を選択し、Deno Deploy
を使用して展開しました。また、毎回のリクエストでその日のデータのみを返すように設定しました。さらに、リクエストキャッシュも設定したため、毎日 Zhihu に唯一のリクエストを送信し、2 回目以降はキャッシュを直接使用することで、API の応答速度を向上させ、Zhihu サーバーへの負担を軽減しました。
これどう使うの?#
ここに展開済みの API アドレスを投げておきますので、直接使ってください~
2024.7 更新#
v2 フォーマットバージョンがリリースされ、JSON の返却が規定されました。ぜひご利用ください:
https://60s.viki.moe?v2=1
ソースコードはvikiboss/60s - GitHubで確認できます。自由に展開したり、スターを付けたりしてください~
2025.2 更新#
60s API V2 (https://60s-api.viki.moe) が正式にリリースされました。
- より多くの実用的で面白いインターフェースを追加
- より充実した API ドキュメントを提供: Apifox
- Docker、Deno、Bun、Node.js など多様な展開方法をサポート
注意してください、v1 バージョンは 2025/1/15 に更新が停止され、v1-legacy ブランチに移行されますので、早めに v2 バージョンに移行してください。v1 バージョンは 2025/6/31 に完全にサービスを停止し、その際にドメインは v2 バージョンに切り替わります。
ソースコードはvikiboss/60s - GitHubで確認できます。スターを付けてください~