class Scrapper
Public Class Methods
curr_pg()
click to toggle source
# File lib/quote_box/scrape.rb, line 8 def self.curr_pg @@curr_pg end
curr_pg=(val)
click to toggle source
# File lib/quote_box/scrape.rb, line 12 def self.curr_pg=(val) @@curr_pg=val end
scrape_keywords_list(phrase)
click to toggle source
# File lib/quote_box/scrape.rb, line 16 def self.scrape_keywords_list(phrase) page=Nokogiri::HTML(open(phrase_to_search_string(phrase))) list=scrape_quote_lists_from_doc(page) end
scrape_popular_list()
click to toggle source
# File lib/quote_box/scrape.rb, line 24 def self.scrape_popular_list page=Nokogiri::HTML(open("https://www.goodreads.com/quotes?page=#{@@curr_pg}")) list=scrape_quote_lists_from_doc(page) end
Private Class Methods
phrase_to_search_string(phrase)
click to toggle source
# File lib/quote_box/scrape.rb, line 73 def self.phrase_to_search_string(phrase) words=phrase.split(' ') str=words.join('+') search_string="https://www.goodreads.com/quotes/search?commit=Search&page=#{curr_pg}&q=#{str}" end
scrape_quote_lists_from_doc(doc)
click to toggle source
# File lib/quote_box/scrape.rb, line 56 def self.scrape_quote_lists_from_doc(doc) quotes=[] quote_list=doc.css("div.quoteDetails") quote_list.each do |quote| q=Quote.new( quote.css(".quoteText").text.strip.split("\n")[0], quote.css("a[title='View this quote']").text, quote.css(".quoteText").text.strip.split("\n")[4], quote.css(".quoteText").text.strip.split("\n")[2]) q.author_link= quote.css("a[href^='/author']")[0]['href'] quotes<<q end quotes end