Class: Scraper

Inherits:
Object
  • Object
show all
Defined in:
lib/swole-news/scraper.rb

Class Method Summary collapse

Class Method Details

.scrape_pageObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/swole-news/scraper.rb', line 3

def self.scrape_page
  article_array = []

  doc = Nokogiri::HTML(open('https://www.bodybuilding.com/category/workouts'))

  doc.css(".cms-article-list--article.col.col-1").map do |article|
    article_hash = {
      :title => article.search("h3.title").text,
      :url => article.search("a").attribute('href').to_s,
      :read_time => article.search(".bb-read-time__time").text,
      :description => article.search("span.description").text
      }
      article_array << article_hash
    end
  article_array
end

.scrape_workouts(article_url) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/swole-news/scraper.rb', line 20

def self.scrape_workouts(article_url)
  workout_array = []

  article = Nokogiri::HTML(open(article_url))
  wrapper = article.search(".cms-article-list__content--wrapper")

  wrapper.search(".cms-article-list__content--container .cms-article-list__content").each do |container|
      workout_hash = {
        :title => container.search(".cms-article-workout__exercise--title").text,
        :definition => container.search(".cms-article-workout__sets--definition span").text.strip
        }
      workout_array << workout_hash
    end
  workout_array
end