analytics_packages = { 'Google AdSense': ['googlesyndication.com'], 'Google Analytics': ['gaJsHost', 'urchinTracker', 'google-analytics.com/ga.js'], 'Clicky Web Analytics': ['static.getclicky.com/js'], 'Coremetrics': ['cmSetClientID'], 'HitsLink': ['counter.hitslink.com/track.js'], 'Webtrends': ['dcsCollect'], 'Omniture': ['s.t()'], 'Piwik': ['Piwik.getTracker'], 'StatCounter': ['statcounter.com'], 'W3Counter': ['www.w3counter.com/tracker.js'], 'Site Meter': ['sitemeter.com/js/counter.js'] } from collections import defaultdict from urllib2 import urlopen from pprint import pprint import time results = defaultdict(lambda: 0) for i in xrange(1000): time.sleep(1) results['total'] += 1 pprint(dict(results)) html = '' try: html = urlopen('http://random.yahoo.com/bin/ryl').read() except: pass for package_name, words in analytics_packages.iteritems(): for word in words: if word in html: results[package_name] += 1 break