Skip to content

Instantly share code, notes, and snippets.

@LitvinenkoD89
Created August 7, 2017 12:37
Show Gist options
  • Save LitvinenkoD89/2b14f940c041d17b144c47fa54717934 to your computer and use it in GitHub Desktop.
Save LitvinenkoD89/2b14f940c041d17b144c47fa54717934 to your computer and use it in GitHub Desktop.
booksamillion_test
states = [
{'short_code' => 'AL', 'full_name' => 'Alabama'},
...
{'short_code' => 'WY', 'full_name' => 'Wyoming'}
]
result = {}
count = 0
agent = Mechanize.new
states.each do |state|
page = agent.get('http://www.bullseyelocations.com/pages/BAMStoreFinder?f=1')
form = page.form_with id: 'form1'
form['__EVENTTARGET'] = ''
form['__EVENTARGUMENT'] = ''
form['__LASTFOCUS'] = ''
form['__SCROLLPOSITIONX'] = 0
form['__SCROLLPOSITIONY'] = 0
form['ctl00$ContentPlaceHolder1$hfResultsPerPage'] = 200
form['ctl00$ContentPlaceHolder1$txtCityStateZip'] = "#{state['full_name']}"
form['ctl00$ToolkitScriptManager1'] ='ctl00$ContentPlaceHolder1$upLocator|ctl00$ContentPlaceHolder1$searchButton'
form['ctl00$ContentPlaceHolder1$hfLocation'] = "#{state['full_name']}&country=United States"
form['ctl00$ContentPlaceHolder1$hfMobile'] = 'false'
form['ctl00$ContentPlaceHolder1$hfSearch'] = "&State=#{state['full_name']}&CountryId=1&CategoryIds=87387,87389,87388&Radius=150&InterfaceID=5308&FindNearestForNoResults=true&GetHoursForUpcomingWeek=true&LanguageCode=ru"
form['ctl00$ContentPlaceHolder1$hfNext'] = ''
form['ctl00$ContentPlaceHolder1$hfPrev'] = ''
form['ctl00$ContentPlaceHolder1$chklistCat$0'] = 87387
form['ctl00$ContentPlaceHolder1$chklistCat$1'] = 87389
form['ctl00$ContentPlaceHolder1$chklistCat$2'] = 87388
form['ctl00$ContentPlaceHolder1$searchButton'] = 'Search'
page = form.submit
page = Nokogiri::HTML page.body
result[state['full_name']] = page.search('.resultsDetails').count
count = count + page.search('.resultsDetails').count
end
2.4.0 :118 > count
=> 157
2.4.0 :119 > result
=> {
"Alabama"=>17,
"Alaska"=>0, "Arizona"=>0, "Arkansas"=>2, "California"=>0, "Colorado"=>0, "Connecticut"=>1, "Delaware"=>0, "Florida"=>26,
"Georgia"=>11, "Hawaii"=>0, "Idaho"=>0, "Illinois"=>1, "Indiana"=>5, "Iowa"=>3, "Kansas"=>1, "Kentucky"=>3, "Louisiana"=>7,
"Maine"=>2, "Maryland"=>2, "Massachusetts"=>0, "Michigan"=>2, "Minnesota"=>0, "Mississippi"=>6, "Missouri"=>2, "Montana"=>0,
"Nebraska"=>0, "Nevada"=>0, "New Hampshire"=>1, "New Jersey"=>1, "New Mexico"=>0, "New York"=>0, "North Carolina"=>8,
"North Dakota"=>0, "Ohio"=>6, "Oklahoma"=>1, "Oregon"=>0, "Pennsylvania"=>4, "Rhode Island"=>0, "South Carolina"=>9,
"South Dakota"=>1, "Tennessee"=>15, "Texas"=>6, "Utah"=>0, "Vermont"=>0, "Virginia"=>8, "Washington"=>0, "West Virginia"=>5,
"Wisconsin"=>1, "Wyoming"=>0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment