※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
Qiitaの記事を検索できるプログラムを作ってみる
QiitaのAPIドキュメントには以下のように記載がある
投稿に関するAPIを取得、アクセスすると返ってくる情報が載っている
- rendered_body
- body
- coediting
- comments_count 等
記事の一覧を作成日時の降順で返す
GET /api/v2/items ←この部分がurlに入る
# ↓はRubyで使えるクラスだが、読み込まないといけない
require 'uri'
require 'net/http'
# Qiitaの投稿情報を取得するAPIのurlを貼り付ける
url = "https://qiita.com/api/v2/items"
# URIクラスを使用する
uri = URI.parse(url)
# urlにアクセスする
res = Net::HTTP.get(uri)
puts res
実行すると、APIの情報がみっちり返ってくる
↓返ってきた「res」は文字列である
puts res.class
# String
require 'json'
res = JSON.parse(res)
puts res.class
# Array
文字列から配列に書き換わったので、データを抜き取ったり加工したり出来る!
情報が多すぎるので、↓だけ抜き出す
- 記事のタイトル
- 投稿者名
res.each do |item|
puts "#{item['title']} by #{item['user']['name']}"
end
# 「タイトル by ユーザー名」の形ですべて返ってくる
検索できるようにする(検索クエリ)
query(検索クエリ)
→ プログラミングでの「検索ワード」という意味
GET /api/v2/items?page=1&per_page=20&query=qiita+user%3AQiita HTTP/1.1
Host: api.example.com
上記コードの「query=qiita+user」の箇所が検索クエリとなる
例)「Ruby」に関わる記事を検索したい
# urlを↓に書き換えて実行
url = "https://qiita.com/api/v2/items?query=Ruby"
「items」以降に、「?query=Ruby」を追加する
#DAY30