Skip to content

Instantly share code, notes, and snippets.

@flightonary
Last active June 4, 2023 20:03
Show Gist options
  • Save flightonary/990b919ff18f502dc69b04be569c0c55 to your computer and use it in GitHub Desktop.
Save flightonary/990b919ff18f502dc69b04be569c0c55 to your computer and use it in GitHub Desktop.
Recording flight data from frightradar24
#!/usr/bin/ruby
# 参考URL
# http://www.mk-mode.com/octopress/2016/02/08/fr24-getting-flight-info/
require 'json'
require 'open-uri'
require 'timeout'
require 'csv'
BALANCE_URL = 'http://www.flightradar24.com/balance.json'
URL = 'http://data-live.flightradar24.com/zones/fcgi/feed.js?bounds=34.300317,30.003735,128.861654,135.054609&adsb=1&air=1&array=1'
KYUSHU_SHIKOKU_AREA = {
left_up: {lat:34.300317, lon:128.861654},
right_down: {lat:30.003735, lon:135.054609}
}
def get_json
str = nil
timeout(2) do
str = open(URL, {"User-Agent" => "Magic Browser"}) { |f| f.read }
end
JSON.parse(str)
rescue => e
raise
end
def save_csv(json)
CSV.open("./flightdata/#{Time.now.utc.strftime("%Y%m%d")}.csv", "a") do |csv|
json['aircraft'].each do |aircraft|
aircraft[0], aircraft[11] = aircraft[11], aircraft[0] #先頭要素を時刻にする
csv << aircraft
end
end
end
loop do
save_csv(get_json)
sleep 3
end
@dsaad68
Copy link

dsaad68 commented Jun 4, 2023

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment