Sha256: 96b1e2caf5b1549af97433ab9e66fa39ddbb329f989bd15e042d7f9d0eb75382
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
class SoftwareBinder::Scraper def self.scrape_categories html = open("https://www.capterra.com/categories") doc = Nokogiri::HTML(html) doc.css(".browse-group-list li a").each do |element| category = SoftwareBinder::Category.new category.name = element.text category.slug = element.attribute("href").value end end def self.scrape_softwares(category) html = open("https://www.capterra.com/#{category.slug}") doc = Nokogiri::HTML(html) doc.css(".listing").each do |element| software = SoftwareBinder::Software.new(category) software.name = element.css(".listing-name a").text.strip software.description = element.css(".listing-description").text.strip.gsub(/\s{2,}/,' ').gsub(" Learn more about #{software.name}",'') software.page_slug = element.css(".listing-description a").attr("href").value if !element.css(".reviews").empty? software.overall_rating = element.css(".reviews").attr("data-rating").value.split("/")[0] software.reviews = element.css(".reviews").attr("data-rating").value.split(" - ")[1] else software.overall_rating = "0.0" software.reviews = 0 end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
software_binder-0.1.3 | lib/software_binder/scraper.rb |
software_binder-0.1.2 | lib/software_binder/scraper.rb |
software_binder-0.1.1 | lib/software_binder/scraper.rb |