Ich lerne gerade Rubin. Ich werde es hier als Aufzeichnung schreiben.
getting_delayed_trains_info.rb
require 'open-uri'
require 'nokogiri' #Edelstein zum Schaben
require 'json' #Rufen Sie an, um json zu verwenden
#URL analysieren
url = 'http://tetsudo.rti-giken.jp/free/delay.json'
html = open(url).read
doc = Nokogiri::HTML(html, url)
#In Json-Format analysieren und in Hash konvertieren
hash = JSON.parse doc.css("body").inner_text
#Geben Sie den Routennamen ein, den Sie als Standard überprüfen möchten, und geben Sie ihn ein_Im Zug lagern
puts "Bitte geben Sie die Route ein, für die Sie den Verzögerungsstatus erfahren möchten.Beispiel: Keihin Tohoku Linie"
input_train = gets.chomp
# delayed_Züge Array Variable vorbereiten
delayed_trains = Array.new
# input_Name der verspäteten Route einschließlich Zugzeichenfolge und Datum / Uhrzeit der Aktualisierung verzögert_In Zügen lagern
hash.each {|train| delayed_train << train["name"] + \
'(Datum und Uhrzeit aktualisieren: ' + Time.at(train["lastupdate_gmt"], in: "+09:00").strftime("%Y-%m-%d %H:%M:%S").to_s + ')' \
if train["name"].include? input_train }
#Wenn das Array leer ist, muss keine Route verzögert werden, andernfalls wird der Routenname ausgegeben.
if delayed_trains.empty?
puts "Schick mir "#{input_train}Es gibt keine Verzögerung bei den Routen, die die Zeichen enthalten"
else
puts delayed_trains.join(",") + "Scheint zu spät zu sein\n Einzelheiten erfahren Sie bei der Eisenbahngesellschaft HP"
end
Es gibt einige Artikel, die Papageienrückgabe mit LINE BOT erstellt haben, aber wenn Sie sich darauf beziehen und diesen Algorithmus einfügen, können Sie LINE BOT erstellen, das antwortet, wenn Sie nach der Route fragen, die Sie fragen möchten, ob sie sich verzögert. ..
Schließlich lerne ich und bin motiviert, das, was ich mache, in Form zu bringen.
Recommended Posts