1#!/usr/bin/env python 2import os 3import sys 4import pickle 5import time 6import traceback 7import yahoo.search 8from yahoo.search.web import WebSearch 9 10APP_ID = 'P5ihFKzV34G69QolFfb3nN7p0rSsYfC9tPGq.IUS.NLWEeJ14SG9Lei0rwFtgwL8cDBrA6Egdw--' 11QUERY_MODIFIERS = '-site:txdns.net -site:sitedossier.com -mx -site:dataopedia.com -site:l0t3k.net -syslog -"4.2.2.1" -site:cqcounter.com -site:flow.nttu.edu.tw -site:websiteoutlook.com -site:ipgeolocator.com -site:tdyndns.org -site:ebrara.com -site:onsamehost.com -site:ipaddresscentral.com -site:quia.jp -inetnum -site:domaintools.com -site:domainbyip.com -site:pdos.csail.mit.edu -statistics -"country name" -"Q_RTT" -site:botsvsbrowsers.com -"ptr record" -site:ip-db.com -site:chaip.com.cn -site:lookup365.com -"IP Country" -site:iptoolboxes.com -"Unknown Country" -"Q_RTT" -amerika -whois -Mozilla -site:domaincrawler.com -site:geek-tools.org -site:visualware.com -site:robtex.com -site:domaintool.se -site:opendns.se -site:ungefiltert-surfen.de -site:datakitteh.org -"SLOVAKIA (SK)" -"IP Search" -site:www.medicore.com.ua -site:dig.similarbase.com -site:ipcorporationwiki.com -site:coolwhois.com' 12CACHE_DIR = os.getenv('HOME') + '/.ycache' 13 14def CheckPopularity(ip): 15 cache_path = os.path.join(CACHE_DIR, ip) + '.pickle' 16 if os.path.exists(cache_path): 17 f = open(cache_path) 18 return pickle.load(f) 19 else: 20 try: 21 query = '"%s" %s' % (ip, QUERY_MODIFIERS) 22 srch = WebSearch(APP_ID, query=query, results=50) 23 results = srch.parse_results() 24 pf = open(cache_path + '.pickle', 'w') 25 pickle.dump(results.results, pf) 26 pf.close() 27 return results 28 except yahoo.search.SearchError: 29 print "%s failed" % (ip) 30 return [] 31 32if __name__ == "__main__": 33 for ip in sys.argv[1:]: 34 print '%s = %s' % (ip, total) 35 for result in results.results: 36 try: 37 print ' - %s: %s' % (result['Url'], result['Title']) 38 except UnicodeEncodeError: 39 print ' - %s' % result['Url']# print results.results 40 time.sleep(0.5) 41