Extra Space
A Ruby library offering both a CLI and API for scraping Extra Space self-storage facilities and prices.
Installation
gem install extraspace
Configuration
require 'extraspace'
ExtraSpace.configure do |config|
  config.user_agent = '../..' # ENV['EXTRASPACE_USER_AGENT']
  config.timeout = 30 # ENV['EXTRASPACE_TIMEOUT']
end
Usage
require 'extraspace'
sitemap = ExtraSpace::Facility.sitemap
sitemap.links.each do |link|
  url = link.loc
  facility = ExtraSpace::Facility.fetch(url:)
  puts facility.text
  facility.prices.each do |price|
    puts price.text
  end
  puts
end
CLI
extraspace crawl
extraspace crawl "https://www.extraspace.com/storage/facilities/us/california/los_angeles/900113/"