class BbcNewsCliGem::Scraper
Attributes
link[R]
raw_page[R]
Public Class Methods
new(link)
click to toggle source
# File lib/bbc_news_cli_gem/scraper.rb, line 5 def initialize(link) @link = link @raw_page = Nokogiri::HTML(open(link)) end
Public Instance Methods
scrape_front_page()
click to toggle source
# File lib/bbc_news_cli_gem/scraper.rb, line 10 def scrape_front_page web_page = BbcNewsCliGem::FrontPage.new(link) create_articles(all_articles, web_page) web_page end
scrape_intro()
click to toggle source
# File lib/bbc_news_cli_gem/scraper.rb, line 16 def scrape_intro raw_intro = raw_page.css('p.story-body__introduction') if raw_intro.first == nil "No Intro" else raw_intro.text.strip end end
Private Instance Methods
all_articles()
click to toggle source
# File lib/bbc_news_cli_gem/scraper.rb, line 35 def all_articles raw_page.css('a.title-link') end
create_articles(articles, web_page)
click to toggle source
# File lib/bbc_news_cli_gem/scraper.rb, line 27 def create_articles(articles, web_page) articles.each do | raw_title | title = raw_title.css('.title-link__title-text').text.strip link = raw_title.attribute('href').text.strip article = BbcNewsCliGem::Article.new(web_page, title, link) end end