Class: Mmonews::MmorpgScraper
- Inherits:
-
Object
- Object
- Mmonews::MmorpgScraper
- Defined in:
- lib/mmonews/mmorpg_scraper.rb
Constant Summary collapse
- BASE_URL =
'https://mmorpg.com'- SOURCE =
'mmorpg.com'
Instance Attribute Summary collapse
-
#page_scraper ⇒ Object
Returns the value of attribute page_scraper.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
- #create_articles ⇒ Object
-
#initialize ⇒ MmorpgScraper
constructor
A new instance of MmorpgScraper.
- #page ⇒ Object
Constructor Details
#initialize ⇒ MmorpgScraper
Returns a new instance of MmorpgScraper.
8 9 10 11 |
# File 'lib/mmonews/mmorpg_scraper.rb', line 8 def initialize self.url = BASE_URL + '/articles' self.page_scraper = Mmonews::Scraper.new(url) end |
Instance Attribute Details
#page_scraper ⇒ Object
Returns the value of attribute page_scraper.
3 4 5 |
# File 'lib/mmonews/mmorpg_scraper.rb', line 3 def page_scraper @page_scraper end |
#url ⇒ Object
Returns the value of attribute url.
3 4 5 |
# File 'lib/mmonews/mmorpg_scraper.rb', line 3 def url @url end |
Instance Method Details
#create_articles ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/mmonews/mmorpg_scraper.rb', line 17 def create_articles page.collect do |p| article_url = BASE_URL + p.search('h1 a.title').attribute('href').value.strip = p.search('p.body span.desc a').text article = { title: p.search('h1 a.title').text, date_published: p.search('p.body span.desc').text.gsub(" by #{author}", ""), author: , source: SOURCE, url: article_url, summary: p.search('p.body').text } Mmonews::Article.create(article) end end |
#page ⇒ Object
13 14 15 |
# File 'lib/mmonews/mmorpg_scraper.rb', line 13 def page @page ||= page_scraper.document.search('.entry') end |