Edited at

QiitaAPIにトレンドが見当たらないので泣いてたら

2018/02/19

.jsonつけたらイケた

どしてもっと早く教えてくれないのん(´;ω;`)

https://qiita.com/trend.json


追記

2018/03/22 9:00〜13:00頃

未ログインだと見れなくなってもうた(´;ω;`)

しょうがないからAPI経由で、過去x日でxストック以上された記事

https://qiita.com/search?q=stocks:>20+created:>2018-03-01

とかそんな感じのやつを取得して代用することにした

試してないけど多分こんな感じ


kuso_qiita.rb

require 'active_support'

require 'active_support/core_ext'
require 'qiita'

Time.zone = 'Asia/Tokyo'

def qiita_search_pages(qiita_client)
search_deadline = 8.days.ago.strftime('%F')
query = "stocks:>20 created:>#{search_deadline}"

# 読んでも10ページまで
(1..10).each_with_object([]) do |page, trend_pages|
trend_page = qiita_search_page(qiita_client, page, query)
trend_pages << trend_page

break trend_pages if trend_page.next_page_url.blank?
end
end

def qiita_search_page(qiita_client, page, query)
qiita_client.list_items(page: page, per_page: 100, query: query)
end

qiita_client = Qiita::Client.new(access_token: ENV['QIITA_ACCESS_TOKEN'])

pages = qiita_search_pages(qiita_client)

#####
# 例えばuuid一覧を取得
#####

def qiita_pages_uuids(pages)
pages.inject([]) do |uuids, page|
uuids.concat(page.body.map { |item| item['id'] })
end
end

uuids = qiita_pages_uuids(pages)

p uuids.map(&:presence).compact.uniq



追記2

2019/04/07

いつからそうだったのかは謎だけど、

トレンド情報をjsonで取得する事自体が出来なくなっている事を確認

@YumaInaura さんがコメントで教えてくれました