Sha256: d4f2db2e55d1815de3f2382b175ceaccaf8196e3fded2cb13bc88f7efccca846

Contents?: true

Size: 895 Bytes

Versions: 24

Compression:

Stored size: 895 Bytes

Contents

require 'open-uri'
require 'nokogiri'


module Scrapers

  module GoComics

    GOCOMIC_URL = "http://www.gocomics.com/"
    
    def self.scrape(comic)

      results = Hash.new

      results[:comic] = comic

      url = URI.parse GOCOMIC_URL
      url.path = "/#{comic}"

      results[:url] = url.to_s

      page = Nokogiri::HTML(open(url.to_s))

      results[:title] = scrape_title(page)
      results[:pubdate] = scrape_pubdate(page)
      results[:img_src] = scrape_image_source(page)

      results

    end

    def self.scrape_title(page)
      page.at_css("title").content.strip.gsub(/[[:space:]]/,' ').squeeze(" ")
    end

    def self.scrape_pubdate(page)
      Date.parse(page.at_css("ul.feature-nav > li").content).to_s
    end

    def self.scrape_image_source(page)
      page.
        at_css("p.feature_item").
        at_css("img").
        attr("src")
    end

  end

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
scrapers-3.2.0 lib/scrapers/gocomics.rb
scrapers-3.1.0 lib/scrapers/gocomics.rb
scrapers-3.0.0 lib/scrapers/gocomics.rb
scrapers-2.1.0 lib/scrapers/gocomics.rb
scrapers-2.0.2 lib/scrapers/gocomics.rb
scrapers-2.0.1 lib/scrapers/gocomics.rb
scrapers-2.0.0 lib/scrapers/gocomics.rb
scrapers-1.5.6 lib/scrapers/gocomics.rb
scrapers-1.5.5 lib/scrapers/gocomics.rb
scrapers-1.5.4 lib/scrapers/gocomics.rb
scrapers-1.5.3 lib/scrapers/gocomics.rb
scrapers-1.5.2 lib/scrapers/gocomics.rb
scrapers-1.5.1 lib/scrapers/gocomics.rb
scrapers-1.5.0 lib/scrapers/gocomics.rb
scrapers-1.4.0 lib/scrapers/gocomics.rb
scrapers-1.3.0 lib/scrapers/gocomics.rb
scrapers-1.2.0 lib/scrapers/gocomics.rb
scrapers-1.1.0 lib/scrapers/gocomics.rb
scrapers-1.0.0 lib/scrapers/gocomics.rb
scrapers-0.4.3 lib/scrapers/gocomics.rb