読者です 読者をやめる 読者になる 読者になる

Sinatraのあらかると

記録することで、環境構築で悩まない。

半自動型RSS投稿時間帯判別マシン

半手動型の判別マシンです。

半自動型の判別マシンです。

2割ぐらいは人間力を必要とします(目視で確認)。

全自動にしろ?

...

今のところ、RSSというライブラリが約20フィードしか取得できないのがよくわからないため、

その疑問を解決できたら、全自動の洗濯機みたいに実行で投稿時間をみれます。

ほとんど自動で演算してくれます。

RSSライブラリをRubyで使っているなら、

正規表現をそのまま、もしくは変更して使えますよ。

'@は20~24時を想定' → @文字は 10 個あります

'$は0時から9時を想定' → $文字は 9 個あります

'#は10時から19時を想定' → #文字は 11 個あります

実行結果を見た感じ、午前中と夜間がこのブログの中心的な投稿時間です。

そういえば、昼間はあまり更新していなかったかも...

条件式を少し修正したので変更がありましたが、

物忘れが多い私にはちょうどいい確認でした。

フィード数が多くなったら、算出するプログラムを書こうかな...

※算出するプログラムを書きました。

require 'rss'
require 'date'
require 'kconv'

#date = Time.new.strftime('現在時刻 : %Y年%m月%d日 %H時%M分')

rss = RSS::Parser.parse('http://blog.takkii.org/rss')

rss.items.collect do |scale|

  #puts scale.pubDate.strftime '投稿時刻 : %Y年%m月%d日 %H時%M分'
  #scale.pubDate.strftime '%H'

  v = /[1][0-9]/
  w = /[0][0-9]/
  x = /[2][0-4]/
  s = scale.pubDate.strftime '%H'

  case
  when s.match(v)
  print '#'
  print ' '
  when s.match(w)
  print '$'
  print ' '
  when s.match(x)
  print '@'
  print ' '
  #print ' '
  #puts scale.title
  #puts scale.link
  #puts scale.description
  #print ' '
end
end
puts ''
__END__

実行結果

$ @ @ # @ @ # @ @ @ # # @ $ @ # # $ # # # $ @ $ $ $ # $ $ # 
#実行結果のコピーを、%[ここにペーストする]
str = %w[$ @ @ # @ @ # @ @ @ # # @ $ @ # # $ # # # $ @ $ $ $ # $ $ #]

print "@文字は "
print str.count("@")
puts " 個あります"
print "$文字は "
print str.count("$")
puts " 個あります"
print "#文字は "
print str.count("#")
puts " 個あります"
print "合計 "
print str.count
puts " 個です"

実行結果

@文字は 10 個あります
$文字は 9 個あります
#文字は 11 個あります
合計 30 個です

Copyright © 2007-2017 Takayuki Kamiyama. All Rights Reserved.