class Aemet::Crawler
Attributes
aemet_id[RW]
city[RW]
search[R]
Public Class Methods
new(search)
click to toggle source
# File lib/aemet/crawler.rb, line 16 def initialize(search) @search = CGI.escape(search.parameterize(" ")) search_city end
Private Instance Methods
search_city()
click to toggle source
# File lib/aemet/crawler.rb, line 23 def search_city city_pattern = ".resultados_busqueda li a:contains('Predicción por Municipios')" search_results = Nokogiri::HTML(HTTParty.get(search_url)).search(city_pattern) first_result = search_results.first if first_result first_result[:href] =~ /-id(.*)\Z/ self.aemet_id = $1 self.city = City.new(aemet_id) else raise "Not found" end end
search_url()
click to toggle source
# File lib/aemet/crawler.rb, line 40 def search_url "#{BASE_URL}/es/buscador?modo=and&orden=n&tipo=sta&str=#{search}" end