Class: Scraper
- Inherits:
-
Object
- Object
- Scraper
- Defined in:
- lib/best_music/scraper.rb
Class Method Summary collapse
- .album_description ⇒ Object
- .album_list(index_url) ⇒ Object
- .album_score ⇒ Object
- .scrape_pitchfork(index_url) ⇒ Object
Class Method Details
.album_description ⇒ Object
27 28 29 30 31 32 |
# File 'lib/best_music/scraper.rb', line 27 def self.album_description Album.all.each do |a| url = "https://pitchfork.com#{a.url}" a.description = scrape_pitchfork(url).css(".review-detail__abstract").text.gsub(/\u0099\u0080/, "").gsub(/â(?=\Ss)/, "'").gsub("â", "--").gsub("é", "é").chomp end end |
.album_list(index_url) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/best_music/scraper.rb', line 8 def self.album_list(index_url) a_list = scrape_pitchfork(index_url).css(".fragment-list").css(".review") a_list.each do |a| album = a.css(".review__title-album").text artist = a.css("li")[0].text.gsub("Ã", "ü").gsub("¼", "").gsub("ü©", "é") genre = a.css("li")[1].text url = a.css("a").attr("href").value Genre.new(genre) if !Genre.all.collect {|g| g.name}.include?(genre) Album.new(album, artist, genre, url) if !Album.all.collect {|a| a.name}.include?(album) end end |
.album_score ⇒ Object
20 21 22 23 24 25 |
# File 'lib/best_music/scraper.rb', line 20 def self.album_score Album.all.each do |a| url = "https://pitchfork.com#{a.url}" a. = scrape_pitchfork(url).css(".score").text.to_f end end |
.scrape_pitchfork(index_url) ⇒ Object
4 5 6 |
# File 'lib/best_music/scraper.rb', line 4 def self.scrape_pitchfork(index_url) index = Nokogiri::HTML(open(index_url)) end |