0.0
No commit activity in last 3 years
No release in over 3 years
Find out the total no. of shares of a website or webpage on all major social networks.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

>= 0.7.2, ~> 0.7
>= 0.6.9, ~> 0.6
 Project Readme

Totalshares

Totalshares is a ruby gem that provides classes(Website and Webpage) to get the number of shares of a specific webpage or an entire website on various social networks.

####install > gem install totalshares

Webpage

2.1.0 :001 > require 'totalshares'
 => true 
2.1.0 :002 > webpage = Totalshares::Webpage.new "http://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/"
 => #<Webpage:0x00000101729578 @url="http://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/"> 
2.1.0 :003 > webpage.gplus :v => true
http://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/
26
 => 26 
2.1.0 :004 > webpage.gplus
 => 26 
2.1.0 :005 > webpage.twitter
 => 23 
2.1.0 :006 > webpage.facebook
 => 55 
2.1.0 :007 > webpage.pinterest
 => 0 
2.1.0 :008 > webpage.stumbledupon
 => 0 
2.1.0 :009 > webpage.linkedin
 => 1 
2.1.0 :010 > webpage.reddit
 => 0 
2.1.0 :012 > webpage.shares_selected(["facebook", "linkedin", "twitter", "gplus"])
 => {"facebook"=>55, "linkedin"=>1, "twitter"=>23, "gplus"=>26} 
2.1.0 :011 > webpage.shares_selected(["facebook", "linkedin", "twitter", "gplus"], :v => true)
http://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/
{"facebook"=>55, "linkedin"=>1, "twitter"=>23, "gplus"=>26}
 => {"facebook"=>55, "linkedin"=>1, "twitter"=>23, "gplus"=>26}
2.1.0 :013 > webpage.all
 => {"twitter"=>23, "facebook"=>55, "linkedin"=>1, "reddit"=>0, "stumbledupon"=>0, "pinterest"=>0, "gplus"=>26} 

Website

Website class crawls the given URL and perform the given webpage method on every crawled webpage. We provide a number of settings to control the behaviour of crawler.

2.1.0 :014 > website = Totalshares::Website.new("www.thegeekstuff.com")
 => #<Website:0x00000101406170 @url="http://www.thegeekstuff.com", @twitter_count=0, @facebook_count=0, @linkedin_count=0, @reddit_count=0, @stumbledupon_count=0, @pinterest_count=0, @gplus_count=0> 
2.1.0 :015 > puts website.facebook :depth_limit => 1, :obey_robots_txt => true
{"http://www.thegeekstuff.com/"=>285, "http://www.thegeekstuff.com/best-of-the-blog"=>9, "http://www.thegeekstuff.com/about/"=>4, "http://www.thegeekstuff.com/linux-101-hacks-ebook/"=>181, "http://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/"=>55, "http://www.thegeekstuff.com/2014/10/grunt-contrib-watch-automate/"=>5, "http://www.thegeekstuff.com/2014/09/startpar-command/"=>11, "http://www.thegeekstuff.com/2014/09/bash-shellshock-fix-cve-2014-7169/"=>99, "http://www.thegeekstuff.com/2014/10/install-ssl-cert-esxi-vcenter/"=>2, "http://www.thegeekstuff.com/2014/08/parse-text-file-using-python/"=>11, "http://www.thegeekstuff.com/2014/09/fuzzy-logic-cpp/"=>11, "http://www.thegeekstuff.com/2014/08/add-route-ip-command/"=>14, "http://www.thegeekstuff.com/linux-sysadmin/"=>24, "http://www.thegeekstuff.com/bash-101-hacks-ebook/"=>4, "http://www.thegeekstuff.com/sed-awk-101-hacks-ebook/"=>8, "http://www.thegeekstuff.com/vim-101-hacks-ebook/"=>9, "http://www.thegeekstuff.com/nagios-core-ebook/"=>9, "http://www.thegeekstuff.com/2010/12/50-unix-linux-sysadmin-tutorials/"=>480, "http://www.thegeekstuff.com/2009/01/12-amazing-and-essential-linux-books-to-enrich-your-brain-and-library/"=>62, "http://www.thegeekstuff.com/2010/11/50-linux-commands/"=>513, "http://www.thegeekstuff.com/2010/03/30-things-to-do-when-you-are-bored-and-have-a-computer/"=>831, "http://www.thegeekstuff.com/2010/08/gtd-getting-things-done/"=>38, "http://www.thegeekstuff.com/2010/09/linux-file-system-structure/"=>891, "http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command-examples/"=>153, "http://www.thegeekstuff.com/2009/07/linux-ls-command-examples/"=>74, "http://www.thegeekstuff.com/2010/08/bug-tracking-system/"=>106, "http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/"=>223, "http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/"=>81, "http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/"=>53, "http://www.thegeekstuff.com/2009/06/expertise-in-google-search/"=>214, "http://www.thegeekstuff.com/2010/08/raid-levels-tutorial/"=>722, "http://www.thegeekstuff.com/2009/01/vi-and-vim-macro-tutorial-how-to-record-and-play/"=>64, "http://www.thegeekstuff.com/2010/01/15-practical-unix-linux-top-command-examples/"=>61, "http://www.thegeekstuff.com/2009/09/top-5-best-network-monitoring-tools/"=>57, "http://www.thegeekstuff.com/2008/06/how-to-monitor-remote-linux-host-using-nagios-30/"=>21, "http://www.thegeekstuff.com/2009/07/best-gmail-tips-and-tricks/"=>73, "http://www.thegeekstuff.com/2009/06/top-5-best-linux-os-distributions/"=>155, "http://www.thegeekstuff.com/2010/09/rsync-command-examples/"=>124, "http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/"=>166, "http://www.thegeekstuff.com/2009/07/top-5-best-linux-text-editors/"=>76, "http://www.thegeekstuff.com/2010/01/awk-introduction-tutorial-7-awk-print-examples/"=>80, "http://www.thegeekstuff.com/2010/06/bash-array-tutorial/"=>89, "http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/"=>100, "http://www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/"=>41, "http://www.thegeekstuff.com/2010/08/tcpdump-command-examples/"=>98, "http://www.thegeekstuff.com/2010/03/netstat-command-examples/"=>73, "http://www.thegeekstuff.com/2008/06/the-ultimate-guide-for-creating-strong-passwords/"=>356, "http://www.thegeekstuff.com/category/linux/"=>1, "http://www.thegeekstuff.com/2008/08/turbocharge-putty-with-12-powerful-add-ons-software-for-geeks-3/"=>169, "http://www.thegeekstuff.com/2008/08/6-steps-to-secure-your-home-wireless-network/"=>136, "http://www.thegeekstuff.com/category/bash-2/"=>1, "http://www.thegeekstuff.com/category/iptables/"=>2, "http://www.thegeekstuff.com/category/ubuntu/"=>1, "http://www.thegeekstuff.com/category/c-plus-plus/"=>1}
7127

website.facebook gives a hash(all the urls and facebook shares) and the sum of all shares of these URLs.

All the methods that webpage provides are also provided by website class.

website.facebook :depth_limit => 1, :v => true
website.twitter :depth_limit => 2, :obey_robots_txt => true
website.gplus, :obey_robots_txt => true
website.pinterest
website.stumbledupon
website.reddit
website.shares_selected(["facebook", "linkedin", "twitter", "gplus"], :depth_limit => 1, :v => true)
website.all :depth_limit => 1, :v => true

Following are the properties of crwaler, you can provide just like :depth_limit.

  • :threads
  • :user_agent
  • :delay
  • :obey_robots_txt
  • :depth_limit
  • :redirect_limit
  • :cookies
  • :accept_cookies
  • :proxy_host
  • :proxy_port
  • :read_timeout