背景#
最近、私は QQ ロボットを使うのに夢中になっていて、いくつかのサードパーティの API を使用して、oicqプロトコルライブラリと組み合わせて、いくつかのシンプルで意味のある機能を実現しています。友達と楽しむために。
代表的な例は、「毎日 60 秒で世界を理解する」です。毎日 10 件ほどの短いトピックニュースで、機能はシンプルですが、内容は意味があります。特に、私たちのようなニュースを読まない子供たちにとっては。
なぜ自分で作るのか#
多くのウェブサイトの API サービスは安定していないため、時折ダウンしてしまいます。そこで、私は Google で検索してみましたが、ほとんどの API のデータソースはこの毎日 60 秒で世界を理解するの知乎専門コラムに向けられていることがわかりました。
どのように作成されたのか#
一連の操作(正直なところ、単純な)を経て、専門コラムのデータインターフェースを見つけました:JSON
GET リクエストであり、暗号化やクロスオリジン、リクエストヘッダの制限などはありません。F12
を押すとインターフェースが表示されます
https://www.zhihu.com/api/v4/columns/c_1261258401923026944/items
この API の URL オプションパラメータ:
limit
:返されるデータの数offset
:ページネーションパラメータ
データを取得した後、高性能で低遅延かつキャッシュを備えた API を迅速に作成するために、deno
を選択し、Deno Deploy
を使用してデプロイし、リクエストごとに当日のデータのみを返すように設定しました。さらに、リクエストキャッシュも設定しています。つまり、毎日知乎には 1 回だけリクエストが送信され、2 回目以降はキャッシュが使用されるため、API の応答速度が向上し、知乎サーバーの負荷が軽減されます。
このものの使い方#
ここにデプロイ済みの API のアドレスを掲載していますので、直接使用してください~
=== 2024.7 更新 ===
v2 バージョンがリリースされ、JSON の返り値が規格化されました。ご利用ください:
https://60s.viki.moe?v2=1
ソースコードはこちらでご覧いただけます。自分でデプロイするか、スターをつけてください~