Class: AsanaCliGem::Scraper
- Inherits:
-
Object
- Object
- AsanaCliGem::Scraper
- Defined in:
- lib/asana_cli_gem/scraper.rb
Instance Method Summary collapse
Instance Method Details
#asana_details(url) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/asana_cli_gem/scraper.rb', line 16 def asana_details(url) pose_scraper = Nokogiri::HTML(open(url)) optional_attributes = {} pose_scraper.css('div.m-detail--body h3').each do |attribute| optional_attributes[attribute.text] = attribute.css('+p').text end updated_pose = AsanaCliGem::Asana.all.detect {|pose| pose.url == url } updated_pose.summary = pose_scraper.css('div.m-detail-header--dek').text updated_pose.sanskrit = optional_attributes["Sanskrit Name"] if optional_attributes["Sanskrit Name"] updated_pose.tip = optional_attributes["Beginner's Tip"] if optional_attributes["Beginner's Tip"] end |
#pose_collector ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/asana_cli_gem/scraper.rb', line 3 def pose_collector doc = Nokogiri::HTML(open('https://www.yogajournal.com/poses/types/strength')) doc.css('#lyra-wrapper > div.m-page-wrapper > div.m-advertisement-off-canvas--pusher > section > div.m-page > section.m-tile-hub.m-component-stack.mm-component-stack--is-stacked') .css('a.m-card--header').collect do |pose| new_pose = AsanaCliGem::Asana.new new_pose.name = pose.css('h2').text new_pose.url = "https://www.yogajournal.com#{pose.attribute("href").value}" new_pose.save end end |