Module: AmazonReview
- Defined in:
- lib/amazon-review.rb,
lib/amazon-review/review.rb
Defined Under Namespace
Classes: Review
Class Method Summary collapse
Class Method Details
.find_reviews(asin) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/amazon-review.rb', line 6 def self.find_reviews(asin) reviews = [] delay = 0.5 page = 1 # iterate through the pages of reviews begin url = "http://www.amazon.com/product-reviews/#{asin}/?ie=UTF8&showViewpoints=0&pageNumber=#{page}&sortBy=bySubmissionDateAscending" doc = Nokogiri::HTML(open(url)) # parse each review new_reviews = 0 doc.css("#productReviews td > a[name]").each do |review_html| reviews << Review.new(review_html) new_reviews += 1 end # go to next page page += 1 # delay to prevent 503 errors delay = [0, delay - 0.1].max # decrease delay sleep delay rescue Exception => e # error while parsing (likely a 503) delay += 0.5 # increase delay end until new_reviews == 0 reviews end |