環境
- ruby 2.3
- 多分どのバージョンでも動く 相当古くなければ
TwilogのRSSをRubyでしようとしたら403が返って取得できない。ブラウザだとちゃんと表示できてるあたり、どうもユーザーエージェントで弾いてるっぽい。
ってことで偽装すればすんなり取得できるようになった。このあたりははてなブックマークのRSSの仕様に似ているな。。。
require 'rss' require 'open-uri' uri = 'http://twilog.org/rss-feed/amanekey' opt = {} opt['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko' open(uri, opt) do |rss| feed = RSS::Parser.parse(rss) feed.items.each do |item| puts "#{item.title}" end end
にしてもRSSって、そもそもコンピュータが取得するために用意されてるはずなのに、なんでパーサー経由だと弾くんだろうか??