* 堀宮が更新されたらYoしてくるアカウント作った(Yo API その2)

先日の続きってほどでもないけど、実用的なもん作った。

私はWebマンガが好きでしょっちゅう読んでいるのだけど週刊誌と違って不定期更新がゆえ、「うわ、一ヶ月前に更新されてたああああああ(:.;゜;Д;゜;.:)」みたいなことがよくある。

ので私が好きなWebマンガの一つの堀さんと宮村くんが更新されたらYoがくるアカウントを作った

HORIMIYARSS

もし通知が欲しかったらHORIMIYARSSに一回Yoしてくれれば更新されたときにYoが来ます。

実装はこんな感じ(Webクロール楽しいいいいいいいいい)

              #!/usr/bin/ruby
              
              require 'open-uri'
              require 'nokogiri'
              require 'kconv'
              require 'net/http'
              
              # 各話の情報をクローリング
              url = "http://dka-hero.com/h_01.html"
              new = "" # 最新話
              
              # Yo API
              yo_url = 'http://api.justyo.co/yoall/'
              api_token = 'hogehoge'
              
              while true do
                html = open(url).read
                doc = Nokogiri::HTML(html.toutf8, nil, 'utf-8')
                episodes = doc.xpath('//a[@target="contents"]')
                title = episodes[-3].inner_text.to_s
                if new == title
                  puts "最新話の更新はありません"
                else
                  puts "最新話の更新がありました:" + title
                  Net::HTTP.post_form(URI.parse(yo_url), {'api_token' => api_token})
                  new = title
                end
                sleep 60 * 30
              end
              
              puts "最新話は" + title
              

これを

`nohup ruby yo.rb &
              `

で、VPSのバックグラウンドプロセスとして回してる。

おしまい

P.S.

nohupコマンド、友人から聞いて知ったのだけど(情弱でさーせん…)

これサーバの再起動とかしたらプロセス死ぬよね?

サーバの再起動と合わせてプロセス復活するようないい方法あったら知りたい〜


※この記事は WordPress に投稿した記事を変換したものです。一部不自然な表示があるかも知れません。ご了承ください。また、記事タイトル先頭の * は WordPress から移行した記事である印です。

comments powered by Disqus