我正在编写一个非常小的程序,我想在我的RPI中运行cron作业。我想每小时检查一次网页的状态。如果状态符合某个标准,我希望它给我发电子邮件。
过去我已经成功使用了gmail gem但是我一直不得不提供我的凭据。我很担心将我的gmail凭据存档到文件中。有谁知道如何更安全地完成这项任务?
最终目标是我想在收件箱中收到一封电子邮件,告诉我我正在监控的网站上的登机状态已经发生变化。
这是我到目前为止所拥有的
#!/usr/bin/ruby
require 'open-uri'
require 'nokogiri'
def check_gates
doc = Nokogiri::HTML(open('http://www.summitatsnoqualmie.com/Mountains/Grooming-Report'))
gates = {}
table_rows = doc.xpath('//tr')
sections = []
sections.push({:gate => "Elevator", :data => table_rows.select { |tr| tr.inspect.include? "Lower Traverse" }.first})
sections.push({:gate => "Nash", :data => table_rows.select { |tr| tr.inspect.include? "Upper Traverse" }.first})
sections.each do |section|
status_text = section[:data].element_children.select { |child| child.inspect.include? "grooming_open_status" }.first.inspect
match = status_text.match(/background-position:\ (\d+)px\ (.\d)+px/)
gate_down = false
unless match.nil?
gate_down = match[1].to_i == 0 and match[2].to_i == 0
end
gates[section[:gate]] = gate_down ? "CLOSED" : "OPEN"
end
gates
end