Skip to content

Instantly share code, notes, and snippets.

@wallnerryan
Created January 4, 2016 19:45
Show Gist options
  • Select an option

  • Save wallnerryan/6ab3c228153aaa59afa3 to your computer and use it in GitHub Desktop.

Select an option

Save wallnerryan/6ab3c228153aaa59afa3 to your computer and use it in GitHub Desktop.
ghstats
import re, urllib
from bs4 import BeautifulSoup
myurl = "https://github.com/emccode/rexray"
html = urllib.urlopen(myurl).read()
soup = BeautifulSoup(html, 'html.parser')
file = open("github.analysis", "w")
file.write(myurl+"\n")
for sibling in soup.findAll("a", { "class" : "social-count" }):
if "watchers" in sibling['href']:
file.write("Watchers: %s\n" % sibling.contents[0].strip())
elif "gazers" in sibling['href']:
file.write("Stars: %s\n" % sibling.contents[0].strip())
elif "network" in sibling['href']:
file.write("Forks: %s\n" % sibling.contents[0].strip())
for item in soup.findAll("ul", { "class" : "numbers-summary" }):
if "commits" in item.li.a['href']:
file.write("Commits : %s\n" % item.span.next_sibling.next_sibling.contents[0].strip())
if "branches" in item.li.next_sibling.next_sibling.a['href']:
file.write("Branches : %s\n" % item.li.next_sibling.next_sibling.span.next_sibling.next_sibling.contents[0].strip())
if "releases" in item.li.next_sibling.next_sibling.next_sibling.next_sibling.a['href']:
file.write("Releases : %s\n" % item.li.next_sibling.next_sibling.next_sibling.next_sibling.span.next_sibling.next_sibling.contents[0].strip())
if "contributors" in item.li.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.a['href']:
file.write("Contributors : %s\n" % item.li.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.next_sibling.span.next_sibling.next_sibling.contents[0].strip())
lang = soup.find("span", { "class" : "lang"})
file.write("Main Language : %s\n" % lang.contents[0].strip())
file.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment