Skip to content

Instantly share code, notes, and snippets.

@damon
Created June 4, 2010 14:34
Show Gist options
  • Save damon/425476 to your computer and use it in GitHub Desktop.
Save damon/425476 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
require 'rubygems'
require 'json'
require 'httparty'
require 'active_support'
# How to use this quick-and-dirty CrunchBase search script
# You'll need Ruby, Rubygems, and a few gems
# $ sudo gem install json
# $ sudo gem install httparty
# $ sudo gem install active_support
# ./crunchbase_search.rb <CrunchBase search term> \
# <Overview field search term> <Namespace filter (optional)
#
# Namespace options are:
# * company
# * person
# * financial-organization
# * product
# * service-provider
# Let me know if you improve this script or find an interesting use for it! (@damon on Twitter)
class CrunchBase
include HTTParty
format :json
def self.query(query,page)
t = get("http://api.crunchbase.com/v/1/search.js?query=#{query}&page=#{page}", :headers => {})
end
end
page = 1
term=ARGV[0]
secondary=ARGV[1]
filter = ARGV[2]
raise "./crunchbase_search.rb <cb search term> <overview search term (optional)> <namespace filter (optional)>" unless term && secondary
h,results = {},[]
while (results.empty? || !h["results"].empty?)
j = Crunchbase.query(term,page).body
h = JSON.parse(j)
results << h
page += 1
sleep 1
end
results.each do |r|
a = r["results"]
a.each do |h|
yup = false
h.keys.each do |k|
if filter && h["namespace"]==filter || !filter
if h["overview"] && h["overview"].upcase.include?(secondary.upcase)
yup = true
end
end
end
puts h["crunchbase_url"] if yup
end
end
# Examples:
# $ ./crunchbase_search.rb austin angel person
# http://www.crunchbase.com/person/austin-hill
# http://www.crunchbase.com/person/ford-austin
# http://www.crunchbase.com/person/mellie-price-2
# http://www.crunchbase.com/person/jeff-chambers
# http://www.crunchbase.com/person/dusty-reagan
# http://www.crunchbase.com/person/reavis-daniel-moore
# http://www.crunchbase.com/person/mark-richards
# http://www.crunchbase.com/person/bill-townsend
# http://www.crunchbase.com/person/lorenzo-thione
# http://www.crunchbase.com/person/ajay-agarwal
# http://www.crunchbase.com/person/n-rudy-garza-2
# http://www.crunchbase.com/person/kenneth-munoz
# http://www.crunchbase.com/person/brian-wong
# http://www.crunchbase.com/person/john-erik-metcalf
#
# $ ./crunchbase_search.rb angel austin person
# http://www.crunchbase.com/person/austin-hill
# http://www.crunchbase.com/person/reavis-daniel-moore
# http://www.crunchbase.com/person/lorenzo-thione
# http://www.crunchbase.com/person/ajay-agarwal
# http://www.crunchbase.com/person/n-rudy-garza-2
# http://www.crunchbase.com/person/kenneth-munoz
# http://www.crunchbase.com/person/mellie-price-2
# http://www.crunchbase.com/person/mark-richards
# http://www.crunchbase.com/person/brian-wong
# http://www.crunchbase.com/person/jeff-chambers
# http://www.crunchbase.com/person/bill-townsend
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment