morygonzalez
https://lh4.googleusercontent.com/-ePQGeeHhmf8/AAAAAAAAAAI/AAAAAAAAAN0/ZnxjnhKh8UY/photo.jpg
株式会社 YAMAP の社員です。
#member
社内の Google Maps Data Table からの移行時に使ったスクリプト
code:ruby
require 'active_support/all'
require 'open-uri'
class String
def strong_strip
gsub(/\A\p{Zs}\p{Cf}+|\p{Zs}\p{Cf}+\Z/, '')
end
end
xml = Hash.from_xml(File.open('/Users/morygonzalez/Downloads/lunch-map.kml'))
item_number = ARGV0.to_i
placemarks = if item_number
Array[xml'kml''Document''Placemark'item_number]
else
xml'kml''Document''Placemark'
end
placemarks.each do |item|
name = item'name'.strong_strip
address = "https://maps.google.co.jp/maps?q=#{item['address']}"
data = item'ExtendedData''Data'
note = data.find {|datum| datum'name' == '注文したメニュー、料金、感想' }'value'
tabelog_url = data.find {|datum| datum'name' == '食べログ' }&.dig('value')
image_url = data.find {|datum| datum'name' == 'gx_media_links' }&.dig('value')
puts "\n#{name}\n"
body = ''
body << "\n#{image_url}\n\n" if image_url.present?
body << <<~EOS
住所
#{address}
感想
#{note}
EOS
body << "食べログ\n\n#{tabelog_url}\n" if tabelog_url.present?
body.strip!
puts "#{body}\n\n"
encoded_body = URI.encode_www_form_component(body)
puts "https://scrapbox.io/gofukumachi-lunch/#{name}?body=#{encoded_body}"
puts "\n* * *\n\n"
end
そもそもヘルプページ見てたら JSON でデータを一括投入できたっぽい。 API はなかったので👆🏻のスクリプトで Terminal に文字列出力してちまちまコピペしてた…