🖥

Ruby | Qiita API で1人のユーザーの全記事一覧を取得する

2023/09/01に公開

100記事x100ページまで取得できるので、上限は1万記事。

Ruby

require 'net/https'
require 'uri'

(1..100).each do |i|
  uri = URI.parse("https://qiita.com/api/v2/users/#{ENV['USER_ID']}/items?page=#{i}&per_page=100")
  res = Net::HTTP.get_response(uri)

  puts res.response.body
end

コマンド実行例

USER_ID=yumainaura ruby qiita-post.rb | jq

Qiita API のTOKENを使って実行上限数対策をする場合の例

require 'net/https'
require 'uri'

(1..100).each do |i|
  uri = URI.parse("https://qiita.com/api/v2/users/#{ENV['USER_ID']}/items?page=#{i}&per_page=100")

  request = Net::HTTP::Get.new(uri.request_uri, {'Content-Type' =>'application/json', "Authorization" => "Bearer #{ENV['TOKEN']}"})

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  response = http.request(request)

  puts response.response.body
end

参考

https://qiita.com/takano-h/items/dd10818eb7e09161bc29

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2022-05-14

Discussion