Class: Scraper

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

Class Method Summary collapse

Class Method Details

.scrape_index_page(page_url) ⇒ Object



5
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
# File 'lib/scraper.rb', line 5

def self.scrape_index_page(page_url)
  doc = Nokogiri::HTML(open(page_url))
  article_array = []

  doc.css(".article").each do |article|
    article_hash = {}

    title = article.css("a[class='h-one article-title']").text.gsub("  ","").gsub("â","'").gsub("\n","")
    url = article.css("a[class='h-one article-title']").attribute("href").value
    description = article.css(".desc").text.gsub("â","'")
    
    details_left = article.css(".article_details .article_details_left").text.gsub("\n","").gsub("  ","").gsub("Author: ","").split("Source: ")
    author = details_left[0]
    source = details_left[1]
    
    details_right = article.css(".article_details .article_details_right").text.gsub("\n","").gsub("Published:  ","").gsub("   ","").split("Length:  ")
    date = details_right[0]
    length = details_right[1]

    article_hash[:title] = title
    article_hash[:url] = url
    article_hash[:description] = description
    article_hash[:author] = author
    article_hash[:source] = source
    article_hash[:date] = date
    article_hash[:length]= length

    article_array << article_hash
  end
article_array
end