Class: CodingResources::Scraper

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

Class Method Summary collapse

Class Method Details

.scrape_all_booksObject



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

def self.scrape_all_books
  page = 0
  books = []
  last_page = Nokogiri::HTML(open("http://www.freetechbooks.com/topics")).css(".pagination li")[-2].text.to_i + 1
  while page < last_page
    page += 1
    doc = Nokogiri::HTML(open("http://www.freetechbooks.com/topics?page=#{page}"))
    doc.css(".media-body").each do |book|
      name = book.css("p.media-heading").text
      desc_url = book.css("a").first.attribute("href").value
      books << {name: name, desc_url: desc_url}
    end
  end

  books
end

.scrape_book_details(url) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/coding_resources/scraper.rb', line 20

def self.scrape_book_details(url)
  details = {}
  doc = Nokogiri::HTML(open(url))
  details[:description] = doc.css("blockquote").text
  details[:book_url] = doc.css("#srvata-content a").attribute("href").value
  details
end