diff --git a/.gitignore b/.gitignore index e03b74e..d4a3073 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *~ *.pyc -*.gz \ No newline at end of file +*.gz +output +output_db diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..3fb03fa --- /dev/null +++ b/ChangeLog @@ -0,0 +1,29 @@ +v0.3 (13/07/2015) +** User ** + Add referers_diff display plugin + Add year statistics in month details + Add analysis duration + Add browsers detection + Add operating systems detection + Add track users plugin + Add feeds plugin + Add _append feature to conf.py + Add hours_stats plugin + Add display/top_downloads_diff plugin + Can specify multiple files to analyze + Add reset feature + Add gz files support + Add -z option (don't compress databases) + Add own search enfines files + +** Dev ** + Add istats_diff interface + Sort documentation output + Add debug traces in robots plugin + Update awstats data + +** Bugs ** + Forgot
tag + Bad UTC time computation + Hits/pages in the same second where not analyzed + Last day of month was skipped diff --git a/awstats_data.py b/awstats_data.py index 8789384..33157e1 100644 --- a/awstats_data.py +++ b/awstats_data.py @@ -1,12 +1,26 @@ -robots = ['appie', 'architext', 'jeeves', 'bjaaland', 'contentmatch', 'ferret', 'googlebot', 'google\-sitemaps', 'gulliver', 'virus[_+ ]detector', 'harvest', 'htdig', 'linkwalker', 'lilina', 'lycos[_+ ]', 'moget', 'muscatferret', 'myweb', 'nomad', 'scooter', 'slurp', '^voyager\/', 'weblayers', 'antibot', 'bruinbot', 'digout4u', 'echo!', 'fast\-webcrawler', 'ia_archiver\-web\.archive\.org', 'ia_archiver', 'jennybot', 'mercator', 'netcraft', 'msnbot\-media', 'msnbot', 'petersnews', 'relevantnoise\.com', 'unlost_web_crawler', 'voila', 'webbase', 'webcollage', 'cfetch', 'zyborg', 'wisenutbot', '[^a]fish', 'abcdatos', 'acme\.spider', 'ahoythehomepagefinder', 'alkaline', 'anthill', 'arachnophilia', 'arale', 'araneo', 'aretha', 'ariadne', 'powermarks', 'arks', 'aspider', 'atn\.txt', 'atomz', 'auresys', 'backrub', 'bbot', 'bigbrother', 'blackwidow', 'blindekuh', 'bloodhound', 'borg\-bot', 'brightnet', 'bspider', 'cactvschemistryspider', 'calif[^r]', 'cassandra', 'cgireader', 'checkbot', 'christcrawler', 'churl', 'cienciaficcion', 'collective', 'combine', 'conceptbot', 'coolbot', 'core', 'cosmos', 'cruiser', 'cusco', 'cyberspyder', 'desertrealm', 'deweb', 'dienstspider', 'digger', 'diibot', 'direct_hit', 'dnabot', 'download_express', 'dragonbot', 'dwcp', 'e\-collector', 'ebiness', 'elfinbot', 'emacs', 'emcspider', 'esther', 'evliyacelebi', 'fastcrawler', 'feedcrawl', 'fdse', 'felix', 'fetchrover', 'fido', 'finnish', 'fireball', 'fouineur', 'francoroute', 'freecrawl', 'funnelweb', 'gama', 'gazz', 'gcreep', 'getbot', 'geturl', 'golem', 'gougou', 'grapnel', 'griffon', 'gromit', 'gulperbot', 'hambot', 'havindex', 'hometown', 'htmlgobble', 'hyperdecontextualizer', 'iajabot', 'iaskspider', 'hl_ftien_spider', 'sogou', 'iconoclast', 'ilse', 'imagelock', 'incywincy', 'informant', 'infoseek', 'infoseeksidewinder', 'infospider', 'inspectorwww', 'intelliagent', 'irobot', 'iron33', 'israelisearch', 'javabee', 'jbot', 'jcrawler', 'jobo', 'jobot', 'joebot', 'jubii', 'jumpstation', 'kapsi', 'katipo', 'kilroy', 'ko[_+ ]yappo[_+ ]robot', 'kummhttp', 'labelgrabber\.txt', 'larbin', 'legs', 'linkidator', 'linkscan', 'lockon', 'logo_gif', 'macworm', 'magpie', 'marvin', 'mattie', 'mediafox', 'merzscope', 'meshexplorer', 'mindcrawler', 'mnogosearch', 'momspider', 'monster', 'motor', 'muncher', 'mwdsearch', 'ndspider', 'nederland\.zoek', 'netcarta', 'netmechanic', 'netscoop', 'newscan\-online', 'nhse', 'northstar', 'nzexplorer', 'objectssearch', 'occam', 'octopus', 'openfind', 'orb_search', 'packrat', 'pageboy', 'parasite', 'patric', 'pegasus', 'perignator', 'perlcrawler', 'phantom', 'phpdig', 'piltdownman', 'pimptrain', 'pioneer', 'pitkow', 'pjspider', 'plumtreewebaccessor', 'poppi', 'portalb', 'psbot', 'python', 'raven', 'rbse', 'resumerobot', 'rhcs', 'road_runner', 'robbie', 'robi', 'robocrawl', 'robofox', 'robozilla', 'roverbot', 'rules', 'safetynetrobot', 'search\-info', 'search_au', 'searchprocess', 'senrigan', 'sgscout', 'shaggy', 'shaihulud', 'sift', 'simbot', 'site\-valet', 'sitetech', 'skymob', 'slcrawler', 'smartspider', 'snooper', 'solbot', 'speedy', 'spider[_+ ]monkey', 'spiderbot', 'spiderline', 'spiderman', 'spiderview', 'spry', 'sqworm', 'ssearcher', 'suke', 'sunrise', 'suntek', 'sven', 'tach_bw', 'tagyu_agent', 'tailrank', 'tarantula', 'tarspider', 'techbot', 'templeton', 'titan', 'titin', 'tkwww', 'tlspider', 'ucsd', 'udmsearch', 'universalfeedparser', 'urlck', 'valkyrie', 'verticrawl', 'victoria', 'visionsearch', 'voidbot', 'vwbot', 'w3index', 'w3m2', 'wallpaper', 'wanderer', 'wapspIRLider', 'webbandit', 'webcatcher', 'webcopy', 'webfetcher', 'webfoot', 'webinator', 'weblinker', 'webmirror', 'webmoose', 'webquest', 'webreader', 'webreaper', 'websnarf', 'webspider', 'webvac', 'webwalk', 'webwalker', 'webwatch', 'whatuseek', 'whowhere', 'wired\-digital', 'wmir', 'wolp', 'wombat', 'wordpress', 'worm', 'woozweb', 'wwwc', 'wz101', 'xget', '1\-more_scanner', 'accoona\-ai\-agent', 'activebookmark', 'adamm_bot', 'almaden', 'aipbot', 'aleadsoftbot', 'alpha_search_agent', 'allrati', 'aport', 'archive\.org_bot', 'argus', 'arianna\.libero\.it', 'aspseek', 'asterias', 'awbot', 'baiduspider', 'becomebot', 'bender', 'betabot', 'biglotron', 'bittorrent_bot', 'biz360[_+ ]spider', 'blogbridge[_+ ]service', 'bloglines', 'blogpulse', 'blogsearch', 'blogshares', 'blogslive', 'blogssay', 'bncf\.firenze\.sbn\.it\/raccolta\.txt', 'bobby', 'boitho\.com\-dc', 'bookmark\-manager', 'boris', 'bumblebee', 'candlelight[_+ ]favorites[_+ ]inspector', 'cbn00glebot', 'cerberian_drtrs', 'cfnetwork', 'cipinetbot', 'checkweb_link_validator', 'commons\-httpclient', 'computer_and_automation_research_institute_crawler', 'converamultimediacrawler', 'converacrawler', 'cscrawler', 'cse_html_validator_lite_online', 'cuasarbot', 'cursor', 'custo', 'datafountains\/dmoz_downloader', 'daviesbot', 'daypopbot', 'deepindex', 'dipsie\.bot', 'dnsgroup', 'domainchecker', 'domainsdb\.net', 'dulance', 'dumbot', 'dumm\.de\-bot', 'earthcom\.info', 'easydl', 'edgeio\-retriever', 'ets_v', 'exactseek', 'extreme[_+ ]picture[_+ ]finder', 'eventax', 'everbeecrawler', 'everest\-vulcan', 'ezresult', 'enteprise', 'facebook', 'fast_enterprise_crawler.*crawleradmin\.t\-info@telekom\.de', 'fast_enterprise_crawler.*t\-info_bi_cluster_crawleradmin\.t\-info@telekom\.de', 'matrix_s\.p\.a\._\-_fast_enterprise_crawler', 'fast_enterprise_crawler', 'fast\-search\-engine', 'favicon', 'favorg', 'favorites_sweeper', 'feedburner', 'feedfetcher\-google', 'feedflow', 'feedster', 'feedsky', 'feedvalidator', 'filmkamerabot', 'findlinks', 'findexa_crawler', 'fooky\.com\/ScorpionBot', 'g2crawler', 'gaisbot', 'geniebot', 'gigabot', 'girafabot', 'global_fetch', 'gnodspider', 'goforit\.com', 'goforitbot', 'gonzo', 'grub', 'gpu_p2p_crawler', 'henrythemiragorobot', 'heritrix', 'holmes', 'hoowwwer', 'hpprint', 'htmlparser', 'html[_+ ]link[_+ ]validator', 'httrack', 'hundesuche\.com\-bot', 'ichiro', 'iltrovatore\-setaccio', 'infobot', 'infociousbot', 'infomine', 'insurancobot', 'internet[_+ ]ninja', 'internetarchive', 'internetseer', 'internetsupervision', 'irlbot', 'isearch2006', 'iupui_research_bot', 'jrtwine[_+ ]software[_+ ]check[_+ ]favorites[_+ ]utility', 'justview', 'kalambot', 'kamano\.de_newsfeedverzeichnis', 'kazoombot', 'kevin', 'keyoshid', 'kinjabot', 'kinja\-imagebot', 'knowitall', 'knowledge\.com', 'kouaa_krawler', 'krugle', 'ksibot', 'kurzor', 'lanshanbot', 'letscrawl\.com', 'libcrawl', 'linkbot', 'link_valet_online', 'metager\-linkchecker', 'linkchecker', 'livejournal\.com', 'lmspider', 'lwp\-request', 'lwp\-trivial', 'magpierss', 'mail\.ru', 'mapoftheinternet\.com', 'mediapartners\-google', 'megite', 'metaspinner', 'microsoft[_+ ]url[_+ ]control', 'mini\-reptile', 'minirank', 'missigua_locator', 'misterbot', 'miva', 'mizzu_labs', 'mj12bot', 'mojeekbot', 'msiecrawler', 'ms_search_4\.0_robot', 'msrabot', 'msrbot', 'mt::telegraph::agent', 'nagios', 'nasa_search', 'mydoyouhike', 'netluchs', 'netsprint', 'newsgatoronline', 'nicebot', 'nimblecrawler', 'noxtrumbot', 'npbot', 'nutchcvs', 'nutchosu\-vlib', 'nutch', 'ocelli', 'octora_beta_bot', 'omniexplorer[_+ ]bot', 'onet\.pl[_+ ]sa', 'onfolio', 'opentaggerbot', 'openwebspider', 'oracle_ultra_search', 'orbiter', 'yodaobot', 'qihoobot', 'passwordmaker\.org', 'pear_http_request_class', 'peerbot', 'perman', 'php[_+ ]version[_+ ]tracker', 'pictureofinternet', 'ping\.blo\.gs', 'plinki', 'pluckfeedcrawler', 'pogodak', 'pompos', 'popdexter', 'port_huron_labs', 'postfavorites', 'projectwf\-java\-test\-crawler', 'proodlebot', 'pyquery', 'rambler', 'redalert', 'rojo', 'rssimagesbot', 'ruffle', 'rufusbot', 'sandcrawler', 'sbider', 'schizozilla', 'scumbot', 'searchguild[_+ ]dmoz[_+ ]experiment', 'seekbot', 'sensis_web_crawler', 'seznambot', 'shim\-crawler', 'shoutcast', 'slysearch', 'snap\.com_beta_crawler', 'sohu\-search', 'sohu', 'snappy', 'sphere_scout', 'spip', 'sproose_crawler', 'steeler', 'steroid__download', 'suchfin\-bot', 'superbot', 'surveybot', 'susie', 'syndic8', 'syndicapi', 'synoobot', 'tcl_http_client_package', 'technoratibot', 'teragramcrawlersurf', 'test_crawler', 'testbot', 't\-h\-u\-n\-d\-e\-r\-s\-t\-o\-n\-e', 'topicblogs', 'turnitinbot', 'turtlescanner', 'turtle', 'tutorgigbot', 'twiceler', 'ubicrawler', 'ultraseek', 'unchaos_bot_hybrid_web_search_engine', 'unido\-bot', 'updated', 'ustc\-semantic\-group', 'vagabondo\-wap', 'vagabondo', 'vermut', 'versus_crawler_from_eda\.baykan@epfl\.ch', 'vespa_crawler', 'vortex', 'vse\/', 'w3c\-checklink', 'w3c[_+ ]css[_+ ]validator[_+ ]jfouffa', 'w3c_validator', 'watchmouse', 'wavefire', 'webclipping\.com', 'webcompass', 'webcrawl\.net', 'web_downloader', 'webdup', 'webfilter', 'webindexer', 'webminer', 'website[_+ ]monitoring[_+ ]bot', 'webvulncrawl', 'wells_search', 'wonderer', 'wume_crawler', 'wwweasel', 'xenu\'s_link_sleuth', 'xenu_link_sleuth', 'xirq', 'y!j', 'yacy', 'yahoo\-blogs', 'yahoo\-verticalcrawler', 'yahoofeedseeker', 'yahooseeker\-testing', 'yahooseeker', 'yahoo\-mmcrawler', 'yahoo!_mindset', 'yandex', 'flexum', 'yanga', 'yooglifetchagent', 'z\-add_link_checker', 'zealbot', 'zhuaxia', 'zspider', 'zeus', 'ng\/1\.', 'ng\/2\.', 'exabot', 'wget', 'libwww', 'java\/[0-9]'] +#This file was automatically generated by iwla_convert.pl. Do not edit manually. + +robots = ['appie', 'architext', 'bingpreview', 'bjaaland', 'contentmatch', 'ferret', 'googlebot', 'google\-sitemaps', 'google[_+ ]web[_+ ]preview', 'gulliver', 'virus[_+ ]detector', 'harvest', 'htdig', 'jeeves', 'linkwalker', 'lilina', 'lycos[_+ ]', 'moget', 'muscatferret', 'myweb', 'nomad', 'scooter', 'slurp', '^voyager\/', 'weblayers', 'antibot', 'bruinbot', 'digout4u', 'echo!', 'fast\-webcrawler', 'ia_archiver\-web\.archive\.org', 'ia_archiver', 'jennybot', 'mercator', 'netcraft', 'msnbot\-media', 'msnbot', 'petersnews', 'relevantnoise\.com', 'unlost_web_crawler', 'voila', 'webbase', 'webcollage', 'cfetch', 'zyborg', 'wisenutbot', '[^a]fish', 'abcdatos', 'acme\.spider', 'ahoythehomepagefinder', 'alkaline', 'anthill', 'arachnophilia', 'arale', 'araneo', 'aretha', 'ariadne', 'powermarks', 'arks', 'aspider', 'atn\.txt', 'atomz', 'auresys', 'backrub', 'bbot', 'bigbrother', 'blackwidow', 'blindekuh', 'bloodhound', 'borg\-bot', 'brightnet', 'bspider', 'cactvschemistryspider', 'calif[^r]', 'cassandra', 'cgireader', 'checkbot', 'christcrawler', 'churl', 'cienciaficcion', 'collective', 'combine', 'conceptbot', 'coolbot', 'core', 'cosmos', 'cruiser', 'cusco', 'cyberspyder', 'desertrealm', 'deweb', 'dienstspider', 'digger', 'diibot', 'direct_hit', 'dnabot', 'download_express', 'dragonbot', 'dwcp', 'e\-collector', 'ebiness', 'elfinbot', 'emacs', 'emcspider', 'esther', 'evliyacelebi', 'fastcrawler', 'feedcrawl', 'fdse', 'felix', 'fetchrover', 'fido', 'finnish', 'fireball', 'fouineur', 'francoroute', 'freecrawl', 'funnelweb', 'gama', 'gazz', 'gcreep', 'getbot', 'geturl', 'golem', 'gougou', 'grapnel', 'griffon', 'gromit', 'gulperbot', 'hambot', 'havindex', 'hometown', 'htmlgobble', 'hyperdecontextualizer', 'iajabot', 'iaskspider', 'hl_ftien_spider', 'sogou', 'iconoclast', 'ilse', 'imagelock', 'incywincy', 'informant', 'infoseek', 'infoseeksidewinder', 'infospider', 'inspectorwww', 'intelliagent', 'irobot', 'iron33', 'israelisearch', 'javabee', 'jbot', 'jcrawler', 'jobo', 'jobot', 'joebot', 'jubii', 'jumpstation', 'kapsi', 'katipo', 'kilroy', 'ko[_+ ]yappo[_+ ]robot', 'kummhttp', 'labelgrabber\.txt', 'larbin', 'legs', 'linkidator', 'linkscan', 'lockon', 'logo_gif', 'macworm', 'magpie', 'marvin', 'mattie', 'mediafox', 'merzscope', 'meshexplorer', 'mindcrawler', 'mnogosearch', 'momspider', 'monster', 'motor', 'muncher', 'mwdsearch', 'ndspider', 'nederland\.zoek', 'netcarta', 'netmechanic', 'netscoop', 'newscan\-online', 'nhse', 'northstar', 'nzexplorer', 'objectssearch', 'occam', 'octopus', 'openfind', 'orb_search', 'packrat', 'pageboy', 'parasite', 'patric', 'pegasus', 'perignator', 'perlcrawler', 'phantom', 'phpdig', 'piltdownman', 'pimptrain', 'pioneer', 'pitkow', 'pjspider', 'plumtreewebaccessor', 'poppi', 'portalb', 'psbot', 'python', 'raven', 'rbse', 'resumerobot', 'rhcs', 'road_runner', 'robbie', 'robi', 'robocrawl', 'robofox', 'robozilla', 'roverbot', 'rules', 'safetynetrobot', 'search\-info', 'search_au', 'searchprocess', 'senrigan', 'sgscout', 'shaggy', 'shaihulud', 'sift', 'simbot', 'site\-valet', 'sitetech', 'skymob', 'slcrawler', 'smartspider', 'snooper', 'solbot', 'speedy', 'spider[_+ ]monkey', 'spiderbot', 'spiderline', 'spiderman', 'spiderview', 'spry', 'sqworm', 'ssearcher', 'suke', 'sunrise', 'suntek', 'sven', 'tach_bw', 'tagyu_agent', 'tailrank', 'tarantula', 'tarspider', 'techbot', 'templeton', 'titan', 'titin', 'tkwww', 'tlspider', 'ucsd', 'udmsearch', 'universalfeedparser', 'urlck', 'valkyrie', 'verticrawl', 'victoria', 'visionsearch', 'voidbot', 'vwbot', 'w3index', 'w3m2', 'wallpaper', 'wanderer', 'wapspIRLider', 'webbandit', 'webcatcher', 'webcopy', 'webfetcher', 'webfoot', 'webinator', 'weblinker', 'webmirror', 'webmoose', 'webquest', 'webreader', 'webreaper', 'websnarf', 'webspider', 'webvac', 'webwalk', 'webwalker', 'webwatch', 'whatuseek', 'whowhere', 'wired\-digital', 'wmir', 'wolp', 'wombat', 'wordpress', 'worm', 'woozweb', 'wwwc', 'wz101', 'xget', '1\-more_scanner', 'accoona\-ai\-agent', 'activebookmark', 'adamm_bot', 'almaden', 'aipbot', 'aleadsoftbot', 'alpha_search_agent', 'allrati', 'aport', 'archive\.org_bot', 'argus', 'arianna\.libero\.it', 'aspseek', 'asterias', 'awbot', 'baiduspider', 'becomebot', 'bender', 'betabot', 'biglotron', 'bittorrent_bot', 'biz360[_+ ]spider', 'blogbridge[_+ ]service', 'bloglines', 'blogpulse', 'blogsearch', 'blogshares', 'blogslive', 'blogssay', 'bncf\.firenze\.sbn\.it\/raccolta\.txt', 'bobby', 'boitho\.com\-dc', 'bookmark\-manager', 'boris', 'bumblebee', 'candlelight[_+ ]favorites[_+ ]inspector', 'cbn00glebot', 'cerberian_drtrs', 'cfnetwork', 'cipinetbot', 'checkweb_link_validator', 'commons\-httpclient', 'computer_and_automation_research_institute_crawler', 'converamultimediacrawler', 'converacrawler', 'cscrawler', 'cse_html_validator_lite_online', 'cuasarbot', 'cursor', 'custo', 'datafountains\/dmoz_downloader', 'daviesbot', 'daypopbot', 'deepindex', 'dipsie\.bot', 'dnsgroup', 'domainchecker', 'domainsdb\.net', 'dulance', 'dumbot', 'dumm\.de\-bot', 'earthcom\.info', 'easydl', 'edgeio\-retriever', 'ets_v', 'exactseek', 'extreme[_+ ]picture[_+ ]finder', 'eventax', 'everbeecrawler', 'everest\-vulcan', 'ezresult', 'enteprise', 'facebook', 'fast_enterprise_crawler.*crawleradmin\.t\-info@telekom\.de', 'fast_enterprise_crawler.*t\-info_bi_cluster_crawleradmin\.t\-info@telekom\.de', 'matrix_s\.p\.a\._\-_fast_enterprise_crawler', 'fast_enterprise_crawler', 'fast\-search\-engine', 'favicon', 'favorg', 'favorites_sweeper', 'feedburner', 'feedfetcher\-google', 'feedflow', 'feedster', 'feedsky', 'feedvalidator', 'filmkamerabot', 'findlinks', 'findexa_crawler', 'fooky\.com\/ScorpionBot', 'g2crawler', 'gaisbot', 'geniebot', 'gigabot', 'girafabot', 'global_fetch', 'gnodspider', 'goforit\.com', 'goforitbot', 'gonzo', 'grub', 'gpu_p2p_crawler', 'henrythemiragorobot', 'heritrix', 'holmes', 'hoowwwer', 'hpprint', 'htmlparser', 'html[_+ ]link[_+ ]validator', 'httrack', 'hundesuche\.com\-bot', 'ichiro', 'iltrovatore\-setaccio', 'infobot', 'infociousbot', 'infomine', 'insurancobot', 'internet[_+ ]ninja', 'internetarchive', 'internetseer', 'internetsupervision', 'irlbot', 'isearch2006', 'iupui_research_bot', 'jrtwine[_+ ]software[_+ ]check[_+ ]favorites[_+ ]utility', 'justview', 'kalambot', 'kamano\.de_newsfeedverzeichnis', 'kazoombot', 'kevin', 'keyoshid', 'kinjabot', 'kinja\-imagebot', 'knowitall', 'knowledge\.com', 'kouaa_krawler', 'krugle', 'ksibot', 'kurzor', 'lanshanbot', 'letscrawl\.com', 'libcrawl', 'linkbot', 'link_valet_online', 'metager\-linkchecker', 'linkchecker', 'livejournal\.com', 'lmspider', 'lwp\-request', 'lwp\-trivial', 'magpierss', 'mail\.ru', 'mapoftheinternet\.com', 'mediapartners\-google', 'megite', 'metaspinner', 'microsoft[_+ ]url[_+ ]control', 'mini\-reptile', 'minirank', 'missigua_locator', 'misterbot', 'miva', 'mizzu_labs', 'mj12bot', 'mojeekbot', 'msiecrawler', 'ms_search_4\.0_robot', 'msrabot', 'msrbot', 'mt::telegraph::agent', 'nagios', 'nasa_search', 'mydoyouhike', 'netluchs', 'netsprint', 'newsgatoronline', 'nicebot', 'nimblecrawler', 'noxtrumbot', 'npbot', 'nutchcvs', 'nutchosu\-vlib', 'nutch', 'ocelli', 'octora_beta_bot', 'omniexplorer[_+ ]bot', 'onet\.pl[_+ ]sa', 'onfolio', 'opentaggerbot', 'openwebspider', 'oracle_ultra_search', 'orbiter', 'yodaobot', 'qihoobot', 'passwordmaker\.org', 'pear_http_request_class', 'peerbot', 'perman', 'php[_+ ]version[_+ ]tracker', 'pictureofinternet', 'ping\.blo\.gs', 'plinki', 'pluckfeedcrawler', 'pogodak', 'pompos', 'popdexter', 'port_huron_labs', 'postfavorites', 'projectwf\-java\-test\-crawler', 'proodlebot', 'pyquery', 'rambler', 'redalert', 'rojo', 'rssimagesbot', 'ruffle', 'rufusbot', 'sandcrawler', 'sbider', 'schizozilla', 'scumbot', 'searchguild[_+ ]dmoz[_+ ]experiment', 'seekbot', 'sensis_web_crawler', 'seznambot', 'shim\-crawler', 'shoutcast', 'slysearch', 'snap\.com_beta_crawler', 'sohu\-search', 'sohu', 'snappy', 'sphere_scout', 'spip', 'sproose_crawler', 'steeler', 'steroid__download', 'suchfin\-bot', 'superbot', 'surveybot', 'susie', 'syndic8', 'syndicapi', 'synoobot', 'tcl_http_client_package', 'technoratibot', 'teragramcrawlersurf', 'test_crawler', 'testbot', 't\-h\-u\-n\-d\-e\-r\-s\-t\-o\-n\-e', 'topicblogs', 'turnitinbot', 'turtlescanner', 'turtle', 'tutorgigbot', 'twiceler', 'ubicrawler', 'ultraseek', 'unchaos_bot_hybrid_web_search_engine', 'unido\-bot', 'updated', 'ustc\-semantic\-group', 'vagabondo\-wap', 'vagabondo', 'vermut', 'versus_crawler_from_eda\.baykan@epfl\.ch', 'vespa_crawler', 'vortex', 'vse\/', 'w3c\-checklink', 'w3c[_+ ]css[_+ ]validator[_+ ]jfouffa', 'w3c_validator', 'watchmouse', 'wavefire', 'webclipping\.com', 'webcompass', 'webcrawl\.net', 'web_downloader', 'webdup', 'webfilter', 'webindexer', 'webminer', 'website[_+ ]monitoring[_+ ]bot', 'webvulncrawl', 'wells_search', 'wonderer', 'wume_crawler', 'wwweasel', 'xenu\'s_link_sleuth', 'xenu_link_sleuth', 'xirq', 'y!j', 'yacy', 'yahoo\-blogs', 'yahoo\-verticalcrawler', 'yahoofeedseeker', 'yahooseeker\-testing', 'yahooseeker', 'yahoo\-mmcrawler', 'yahoo!_mindset', 'yandex', 'flexum', 'yanga', 'yooglifetchagent', 'z\-add_link_checker', 'zealbot', 'zhuaxia', 'zspider', 'zeus', 'ng\/1\.', 'ng\/2\.', 'exabot', '^[1-3]$', 'alltop', 'applesyndication', 'asynchttpclient', 'bingbot', 'blogged_crawl', 'bloglovin', 'butterfly', 'buzztracker', 'carpathia', 'catbot', 'chattertrap', 'check_http', 'coldfusion', 'covario', 'daylifefeedfetcher', 'discobot', 'dlvr\.it', 'dreamwidth', 'drupal', 'ezoom', 'feedmyinbox', 'feedroll\.com', 'feedzira', 'fever\/', 'freenews', 'geohasher', 'hanrss', 'inagist', 'jacobin club', 'jakarta', 'js\-kit', 'largesmall crawler', 'linkedinbot', 'longurl', 'metauri', 'microsoft\-webdav\-miniredir', '^motorola$', 'movabletype', '^mozilla\/3\.0 \(compatible$', '^mozilla\/4\.0$', '^mozilla\/4\.0 \(compatible;\)$', '^mozilla\/5\.0$', '^mozilla\/5\.0 \(compatible;$', '^mozilla\/5\.0 \(en\-us\)$', '^mozilla\/5\.0 firefox\/3\.0\.5$', '^msie', 'netnewswire', ' netseer ', 'netvibes', 'newrelicpinger', 'newsfox', 'nextgensearchbot', 'ning', 'pingdom', 'pita', 'postpost', 'postrank', 'printfulbot', 'protopage', 'proximic', 'quipply', 'r6\_', 'ratingburner', 'regator', 'rome client', 'rpt\-httpclient', 'rssgraffiti', 'sage\+\+', 'scoutjet', 'simplepie', 'sitebot', 'summify\.com', 'superfeedr', 'synthesio', 'teoma', 'topblogsinfo', 'topix\.net', 'trapit', 'trileet', 'tweetedtimes', 'twisted pagegetter', 'twitterbot', 'twitterfeed', 'unwindfetchor', 'wazzup', 'windows\-rss\-platform', 'wiumi', 'xydo', 'yahoo! slurp', 'yahoo pipes', 'yahoo\-newscrawler', 'yahoocachesystem', 'yahooexternalcache', 'yahoo! searchmonkey', 'yahooysmcm', 'yammer', 'yandexbot', 'yeti', 'yie8', 'youdao', 'yourls', 'zemanta', 'zend_http_client', 'wget', 'libwww', '^java\/[0-9]'] search_engines = ['google\.[\w.]+/products', 'base\.google\.', 'froogle\.google\.', 'groups\.google\.', 'images\.google\.', 'google\.', 'googlee\.', 'googlecom\.com', 'goggle\.co\.hu', '216\.239\.(35|37|39|51)\.100', '216\.239\.(35|37|39|51)\.101', '216\.239\.5[0-9]\.104', '64\.233\.1[0-9]{2}\.104', '66\.102\.[1-9]\.104', '66\.249\.93\.104', '72\.14\.2[0-9]{2}\.104', 'msn\.', 'live\.com', 'bing\.', 'voila\.', 'mindset\.research\.yahoo', 'yahoo\.', '(66\.218\.71\.225|216\.109\.117\.135|216\.109\.125\.130|66\.218\.69\.11)', 'search\.aol\.co', 'tiscali\.', 'lycos\.', 'alexa\.com', 'alltheweb\.com', 'altavista\.', 'a9\.com', 'dmoz\.org', 'netscape\.', 'search\.terra\.', 'www\.search\.com', 'search\.sli\.sympatico\.ca', 'excite\.'] -search_engines_2 = ['4\-counter\.com', 'att\.net', 'bungeebonesdotcom', 'northernlight\.', 'hotbot\.', 'kvasir\.', 'webcrawler\.', 'metacrawler\.', 'go2net\.com', '(^|\.)go\.com', 'euroseek\.', 'looksmart\.', 'spray\.', 'nbci\.com\/search', 'de\.ask.\com', 'es\.ask.\com', 'fr\.ask.\com', 'it\.ask.\com', 'nl\.ask.\com', 'uk\.ask.\com', '(^|\.)ask\.com', 'atomz\.', 'overture\.com', 'teoma\.', 'findarticles\.com', 'infospace\.com', 'mamma\.', 'dejanews\.', 'dogpile\.com', 'wisenut\.com', 'ixquick\.com', 'search\.earthlink\.net', 'i-une\.com', 'blingo\.com', 'centraldatabase\.org', 'clusty\.com', 'mysearch\.', 'vivisimo\.com', 'kartoo\.com', 'icerocket\.com', 'sphere\.com', 'ledix\.net', 'start\.shaw\.ca', 'searchalot\.com', 'copernic\.com', 'avantfind\.com', 'steadysearch\.com', 'steady-search\.com', 'chello\.at', 'chello\.be', 'chello\.cz', 'chello\.fr', 'chello\.hu', 'chello\.nl', 'chello\.no', 'chello\.pl', 'chello\.se', 'chello\.sk', 'chello', 'mirago\.be', 'mirago\.ch', 'mirago\.de', 'mirago\.dk', 'es\.mirago\.com', 'mirago\.fr', 'mirago\.it', 'mirago\.nl', 'no\.mirago\.com', 'mirago\.se', 'mirago\.co\.uk', 'mirago', 'answerbus\.com', 'icq\.com\/search', 'nusearch\.com', 'goodsearch\.com', 'scroogle\.org', 'questionanswering\.com', 'mywebsearch\.com', 'as\.starware\.com', 'del\.icio\.us', 'digg\.com', 'stumbleupon\.com', 'swik\.net', 'segnalo\.alice\.it', 'ineffabile\.it', 'anzwers\.com\.au', 'engine\.exe', 'miner\.bol\.com\.br', '\.baidu\.com', '\.vnet\.cn', '\.soso\.com', '\.sogou\.com', '\.3721\.com', 'iask\.com', '\.accoona\.com', '\.163\.com', '\.zhongsou\.com', 'atlas\.cz', 'seznam\.cz', 'quick\.cz', 'centrum\.cz', 'jyxo\.(cz|com)', 'najdi\.to', 'redbox\.cz', 'opasia\.dk', 'danielsen\.com', 'sol\.dk', 'jubii\.dk', 'find\.dk', 'edderkoppen\.dk', 'netstjernen\.dk', 'orbis\.dk', 'tyfon\.dk', '1klik\.dk', 'ofir\.dk', 'ilse\.', 'vindex\.', '(^|\.)ask\.co\.uk', 'bbc\.co\.uk/cgi-bin/search', 'ifind\.freeserve', 'looksmart\.co\.uk', 'splut\.', 'spotjockey\.', 'ukdirectory\.', 'ukindex\.co\.uk', 'ukplus\.', 'searchy\.co\.uk', 'haku\.www\.fi', 'recherche\.aol\.fr', 'ctrouve\.', 'francite\.', '\.lbb\.org', 'rechercher\.libertysurf\.fr', 'search[\w\-]+\.free\.fr', 'recherche\.club-internet\.fr', 'toile\.com', 'biglotron\.com', 'mozbot\.fr', 'sucheaol\.aol\.de', 'fireball\.de', 'infoseek\.de', 'suche\d?\.web\.de', '[a-z]serv\.rrzn\.uni-hannover\.de', 'suchen\.abacho\.de', '(brisbane|suche)\.t-online\.de', 'allesklar\.de', 'meinestadt\.de', '212\.227\.33\.241', '(161\.58\.227\.204|161\.58\.247\.101|212\.40\.165\.90|213\.133\.108\.202|217\.160\.108\.151|217\.160\.111\.99|217\.160\.131\.108|217\.160\.142\.227|217\.160\.176\.42)', 'wwweasel\.de', 'netluchs\.de', 'schoenerbrausen\.de', 'heureka\.hu', 'vizsla\.origo\.hu', 'lapkereso\.hu', 'goliat\.hu', 'index\.hu', 'wahoo\.hu', 'webmania\.hu', 'search\.internetto\.hu', 'tango\.hu', 'keresolap\.hu', 'polymeta\.hu', 'sify\.com', 'virgilio\.it', 'arianna\.libero\.it', 'supereva\.com', 'kataweb\.it', 'search\.alice\.it\.master', 'search\.alice\.it', 'gotuneed\.com', 'godado', 'jumpy\.it', 'shinyseek\.it', 'teecno\.it', 'ask\.jp', 'sagool\.jp', 'sok\.start\.no', 'eniro\.no', 'szukaj\.wp\.pl', 'szukaj\.onet\.pl', 'dodaj\.pl', 'gazeta\.pl', 'gery\.pl', 'hoga\.pl', 'netsprint\.pl', 'interia\.pl', 'katalog\.onet\.pl', 'o2\.pl', 'polska\.pl', 'szukacz\.pl', 'wow\.pl', 'ya(ndex)?\.ru', 'aport\.ru', 'rambler\.ru', 'turtle\.ru', 'metabot\.ru', 'evreka\.passagen\.se', 'eniro\.se', 'zoznam\.sk', 'sapo\.pt', 'search\.ch', 'search\.bluewin\.ch', 'pogodak\.'] +search_engines_2 = ['4\-counter\.com', 'att\.net', 'bungeebonesdotcom', 'northernlight\.', 'hotbot\.', 'kvasir\.', 'webcrawler\.', 'metacrawler\.', 'go2net\.com', '(^|\.)go\.com', 'euroseek\.', 'looksmart\.', 'spray\.', 'nbci\.com\/search', 'de\.ask.\com', 'es\.ask.\com', 'fr\.ask.\com', 'it\.ask.\com', 'nl\.ask.\com', 'uk\.ask.\com', '(^|\.)ask\.com', 'atomz\.', 'overture\.com', 'teoma\.', 'findarticles\.com', 'infospace\.com', 'mamma\.', 'dejanews\.', 'dogpile\.com', 'wisenut\.com', 'ixquick\.com', 'search\.earthlink\.net', 'i-une\.com', 'blingo\.com', 'centraldatabase\.org', 'clusty\.com', 'mysearch\.', 'vivisimo\.com', 'kartoo\.com', 'icerocket\.com', 'sphere\.com', 'ledix\.net', 'start\.shaw\.ca', 'searchalot\.com', 'copernic\.com', 'avantfind\.com', 'steadysearch\.com', 'steady-search\.com', 'claro-search\.com', 'www1\.search-results\.com', 'www\.holasearch\.com', 'search\.conduit\.com', 'static\.flipora\.com', '(?:www[12]?|mixidj)\.delta-search\.com', 'start\.iminent\.com', 'www\.searchmobileonline\.com', 'int\.search-results\.com', 'chello\.at', 'chello\.be', 'chello\.cz', 'chello\.fr', 'chello\.hu', 'chello\.nl', 'chello\.no', 'chello\.pl', 'chello\.se', 'chello\.sk', 'chello', 'mirago\.be', 'mirago\.ch', 'mirago\.de', 'mirago\.dk', 'es\.mirago\.com', 'mirago\.fr', 'mirago\.it', 'mirago\.nl', 'no\.mirago\.com', 'mirago\.se', 'mirago\.co\.uk', 'mirago', 'answerbus\.com', 'icq\.com\/search', 'nusearch\.com', 'goodsearch\.com', 'scroogle\.org', 'questionanswering\.com', 'mywebsearch\.com', 'as\.starware\.com', 'del\.icio\.us', 'digg\.com', 'stumbleupon\.com', 'swik\.net', 'segnalo\.alice\.it', 'ineffabile\.it', 'anzwers\.com\.au', 'engine\.exe', 'miner\.bol\.com\.br', '\.baidu\.com', '\.vnet\.cn', '\.soso\.com', '\.sogou\.com', '\.3721\.com', 'iask\.com', '\.accoona\.com', '\.163\.com', '\.zhongsou\.com', 'atlas\.cz', 'seznam\.cz', 'quick\.cz', 'centrum\.cz', 'jyxo\.(cz|com)', 'najdi\.to', 'redbox\.cz', 'isearch\.avg\.com', 'opasia\.dk', 'danielsen\.com', 'sol\.dk', 'jubii\.dk', 'find\.dk', 'edderkoppen\.dk', 'netstjernen\.dk', 'orbis\.dk', 'tyfon\.dk', '1klik\.dk', 'ofir\.dk', 'ilse\.', 'vindex\.', '(^|\.)ask\.co\.uk', 'bbc\.co\.uk/cgi-bin/search', 'ifind\.freeserve', 'looksmart\.co\.uk', 'splut\.', 'spotjockey\.', 'ukdirectory\.', 'ukindex\.co\.uk', 'ukplus\.', 'searchy\.co\.uk', 'search\.fbdownloader\.com', 'search\.babylon\.com', 'haku\.www\.fi', 'recherche\.aol\.fr', 'ctrouve\.', 'francite\.', '\.lbb\.org', 'rechercher\.libertysurf\.fr', 'search[\w\-]+\.free\.fr', 'recherche\.club-internet\.fr', 'toile\.com', 'biglotron\.com', 'mozbot\.fr', 'sucheaol\.aol\.de', 'o2suche\.aol\.de', 'fireball\.de', 'infoseek\.de', 'suche\d?\.web\.de', '[a-z]serv\.rrzn\.uni-hannover\.de', 'suchen\.abacho\.de', '(brisbane|suche)\.t-online\.de', 'allesklar\.de', 'meinestadt\.de', '212\.227\.33\.241', '(161\.58\.227\.204|161\.58\.247\.101|212\.40\.165\.90|213\.133\.108\.202|217\.160\.108\.151|217\.160\.111\.99|217\.160\.131\.108|217\.160\.142\.227|217\.160\.176\.42)', 'wwweasel\.de', 'netluchs\.de', 'schoenerbrausen\.de', 'suche\.gmx\.net', 'ecosia\.org', 'de\.aolsearch\.com', 'suche\.aol\.de', 'www\.startxxl\.com', 'www\.benefind\.de', 'heureka\.hu', 'vizsla\.origo\.hu', 'lapkereso\.hu', 'goliat\.hu', 'index\.hu', 'wahoo\.hu', 'webmania\.hu', 'search\.internetto\.hu', 'tango\.hu', 'keresolap\.hu', 'polymeta\.hu', 'sify\.com', 'virgilio\.it', 'arianna\.libero\.it', 'supereva\.com', 'kataweb\.it', 'search\.alice\.it\.master', 'search\.alice\.it', 'gotuneed\.com', 'godado', 'jumpy\.it', 'shinyseek\.it', 'teecno\.it', 'search\.genieo\.com', 'ask\.jp', 'sagool\.jp', 'sok\.start\.no', 'eniro\.no', 'szukaj\.wp\.pl', 'szukaj\.onet\.pl', 'dodaj\.pl', 'gazeta\.pl', 'gery\.pl', 'hoga\.pl', 'netsprint\.pl', 'interia\.pl', 'katalog\.onet\.pl', 'o2\.pl', 'polska\.pl', 'szukacz\.pl', 'wow\.pl', 'ya(ndex)?\.ru', 'aport\.ru', 'rambler\.ru', 'turtle\.ru', 'metabot\.ru', 'evreka\.passagen\.se', 'eniro\.se', 'zoznam\.sk', 'sapo\.pt', 'search\.ch', 'search\.bluewin\.ch', 'pogodak\.', 'jwss\.cc', 'lemoteur\.orange\.fr', 'windowssearch\.com', 'qwant\.com', 'wow\.com', 'searches\.omiga-plus\.com', 'buenosearch\.com', 'searches\.vi-view\.com'] -not_search_engines_keys = {'yahoo\.' : '(?:picks|mail)\.yahoo\.|yahoo\.[^/]+/picks', 'altavista\.' : 'babelfish\.altavista\.', 'tiscali\.' : 'mail\.tiscali\.', 'yandex\.' : 'direct\.yandex\.', 'google\.' : 'translate\.google\.', 'msn\.' : 'hotmail\.msn\.'} +not_search_engines_keys = {'tiscali\.' : 'mail\.tiscali\.', 'altavista\.' : 'babelfish\.altavista\.', 'yahoo\.' : '(?:picks|mail)\.yahoo\.|yahoo\.[^/]+/picks', 'google\.' : 'translate\.google\.', 'msn\.' : 'hotmail\.msn\.', 'yandex\.' : 'direct\.yandex\.'} -search_engines_hashid = {'search\.sli\.sympatico\.ca' : 'sympatico', 'mywebsearch\.com' : 'mywebsearch', 'netsprint\.pl\/hoga\-search' : 'hogapl', 'findarticles\.com' : 'findarticles', 'wow\.pl' : 'wowpl', 'allesklar\.de' : 'allesklar', 'atomz\.' : 'atomz', 'bing\.' : 'bing', 'find\.dk' : 'finddk', 'google\.' : 'google', '(66\.218\.71\.225|216\.109\.117\.135|216\.109\.125\.130|66\.218\.69\.11)' : 'yahoo', 'pogodak\.' : 'pogodak', 'ask\.jp' : 'askjp', '\.baidu\.com' : 'baidu', 'tango\.hu' : 'tango_hu', 'gotuneed\.com' : 'gotuneed', 'quick\.cz' : 'quick', 'mirago' : 'mirago', 'szukaj\.wp\.pl' : 'wp', 'mirago\.de' : 'miragode', 'mirago\.dk' : 'miragodk', 'katalog\.onet\.pl' : 'katalogonetpl', 'googlee\.' : 'google', 'orbis\.dk' : 'orbis', 'turtle\.ru' : 'turtle', 'zoznam\.sk' : 'zoznam', 'start\.shaw\.ca' : 'shawca', 'chello\.at' : 'chelloat', 'centraldatabase\.org' : 'centraldatabase', 'centrum\.cz' : 'centrum', 'kataweb\.it' : 'kataweb', '\.lbb\.org' : 'lbb', 'blingo\.com' : 'blingo', 'vivisimo\.com' : 'vivisimo', 'stumbleupon\.com' : 'stumbleupon', 'es\.ask.\com' : 'askes', 'interia\.pl' : 'interiapl', '[a-z]serv\.rrzn\.uni-hannover\.de' : 'meta', 'search\.alice\.it' : 'aliceit', 'shinyseek\.it' : 'shinyseek\.it', 'i-une\.com' : 'iune', 'dejanews\.' : 'dejanews', 'opasia\.dk' : 'opasia', 'chello\.cz' : 'chellocz', 'ya(ndex)?\.ru' : 'yandex', 'kartoo\.com' : 'kartoo', 'arianna\.libero\.it' : 'arianna', 'ofir\.dk' : 'ofir', 'search\.earthlink\.net' : 'earthlink', 'biglotron\.com' : 'biglotron', 'lapkereso\.hu' : 'lapkereso', '216\.239\.(35|37|39|51)\.101' : 'google_cache', 'miner\.bol\.com\.br' : 'miner', 'dodaj\.pl' : 'dodajpl', 'mirago\.be' : 'miragobe', 'googlecom\.com' : 'google', 'steadysearch\.com' : 'steadysearch', 'redbox\.cz' : 'redbox', 'haku\.www\.fi' : 'haku', 'sapo\.pt' : 'sapo', 'sphere\.com' : 'sphere', 'danielsen\.com' : 'danielsen', 'alexa\.com' : 'alexa', 'mamma\.' : 'mamma', 'swik\.net' : 'swik', 'polska\.pl' : 'polskapl', 'groups\.google\.' : 'google_groups', 'metabot\.ru' : 'metabot', 'rechercher\.libertysurf\.fr' : 'libertysurf', 'szukaj\.onet\.pl' : 'onetpl', 'aport\.ru' : 'aport', 'de\.ask.\com' : 'askde', 'splut\.' : 'splut', 'live\.com' : 'live', '216\.239\.5[0-9]\.104' : 'google_cache', 'mysearch\.' : 'mysearch', 'ukplus\.' : 'ukplus', 'najdi\.to' : 'najdi', 'overture\.com' : 'overture', 'iask\.com' : 'iask', 'nl\.ask.\com' : 'asknl', 'nbci\.com\/search' : 'nbci', 'search\.aol\.co' : 'aol', 'eniro\.se' : 'enirose', '64\.233\.1[0-9]{2}\.104' : 'google_cache', 'mirago\.ch' : 'miragoch', 'altavista\.' : 'altavista', 'chello\.hu' : 'chellohu', 'mozbot\.fr' : 'mozbot', 'northernlight\.' : 'northernlight', 'mirago\.co\.uk' : 'miragocouk', 'search[\w\-]+\.free\.fr' : 'free', 'mindset\.research\.yahoo' : 'yahoo_mindset', 'copernic\.com' : 'copernic', 'heureka\.hu' : 'heureka', 'steady-search\.com' : 'steadysearch', 'teecno\.it' : 'teecnoit', 'voila\.' : 'voila', 'netstjernen\.dk' : 'netstjernen', 'keresolap\.hu' : 'keresolap_hu', 'yahoo\.' : 'yahoo', 'icerocket\.com' : 'icerocket', 'alltheweb\.com' : 'alltheweb', 'www\.search\.com' : 'search.com', 'digg\.com' : 'digg', 'tiscali\.' : 'tiscali', 'spotjockey\.' : 'spotjockey', 'a9\.com' : 'a9', '(brisbane|suche)\.t-online\.de' : 't-online', 'ifind\.freeserve' : 'freeserve', 'att\.net' : 'att', 'mirago\.it' : 'miragoit', 'index\.hu' : 'indexhu', '\.sogou\.com' : 'sogou', 'no\.mirago\.com' : 'miragono', 'ineffabile\.it' : 'ineffabile', 'netluchs\.de' : 'netluchs', 'toile\.com' : 'toile', 'search\..*\.\w+' : 'search', 'del\.icio\.us' : 'delicious', 'vizsla\.origo\.hu' : 'origo', 'netscape\.' : 'netscape', 'dogpile\.com' : 'dogpile', 'anzwers\.com\.au' : 'anzwers', '\.zhongsou\.com' : 'zhongsou', 'ctrouve\.' : 'ctrouve', 'gazeta\.pl' : 'gazetapl', 'recherche\.club-internet\.fr' : 'clubinternet', 'sok\.start\.no' : 'start', 'scroogle\.org' : 'scroogle', 'schoenerbrausen\.de' : 'schoenerbrausen', 'looksmart\.co\.uk' : 'looksmartuk', 'wwweasel\.de' : 'wwweasel', 'godado' : 'godado', '216\.239\.(35|37|39|51)\.100' : 'google_cache', 'jubii\.dk' : 'jubii', '212\.227\.33\.241' : 'metaspinner', 'mirago\.fr' : 'miragofr', 'sol\.dk' : 'sol', 'bbc\.co\.uk/cgi-bin/search' : 'bbc', 'jumpy\.it' : 'jumpy\.it', 'francite\.' : 'francite', 'infoseek\.de' : 'infoseek', 'es\.mirago\.com' : 'miragoes', 'jyxo\.(cz|com)' : 'jyxo', 'hotbot\.' : 'hotbot', 'engine\.exe' : 'engine', '(^|\.)ask\.com' : 'ask', 'goliat\.hu' : 'goliat', 'wisenut\.com' : 'wisenut', 'mirago\.nl' : 'miragonl', 'base\.google\.' : 'google_base', 'search\.bluewin\.ch' : 'bluewin', 'lycos\.' : 'lycos', 'meinestadt\.de' : 'meinestadt', '4\-counter\.com' : 'google4counter', 'search\.alice\.it\.master' : 'aliceitmaster', 'teoma\.' : 'teoma', '(^|\.)ask\.co\.uk' : 'askuk', 'tyfon\.dk' : 'tyfon', 'froogle\.google\.' : 'google_froogle', 'ukdirectory\.' : 'ukdirectory', 'ledix\.net' : 'ledix', 'edderkoppen\.dk' : 'edderkoppen', 'recherche\.aol\.fr' : 'aolfr', 'google\.[\w.]+/products' : 'google_products', 'webmania\.hu' : 'webmania', 'searchy\.co\.uk' : 'searchy', 'fr\.ask.\com' : 'askfr', 'spray\.' : 'spray', '72\.14\.2[0-9]{2}\.104' : 'google_cache', 'eniro\.no' : 'eniro', 'goodsearch\.com' : 'goodsearch', 'kvasir\.' : 'kvasir', '\.accoona\.com' : 'accoona', '\.soso\.com' : 'soso', 'as\.starware\.com' : 'comettoolbar', 'virgilio\.it' : 'virgilio', 'o2\.pl' : 'o2pl', 'chello\.nl' : 'chellonl', 'chello\.be' : 'chellobe', 'icq\.com\/search' : 'icq', 'msn\.' : 'msn', 'fireball\.de' : 'fireball', 'sucheaol\.aol\.de' : 'aolde', 'uk\.ask.\com' : 'askuk', 'euroseek\.' : 'euroseek', 'gery\.pl' : 'gerypl', 'chello\.fr' : 'chellofr', 'netsprint\.pl' : 'netsprintpl', 'avantfind\.com' : 'avantfind', 'supereva\.com' : 'supereva', 'polymeta\.hu' : 'polymeta_hu', 'infospace\.com' : 'infospace', 'sify\.com' : 'sify', 'go2net\.com' : 'go2net', 'wahoo\.hu' : 'wahoo', 'suche\d?\.web\.de' : 'webde', '(161\.58\.227\.204|161\.58\.247\.101|212\.40\.165\.90|213\.133\.108\.202|217\.160\.108\.151|217\.160\.111\.99|217\.160\.131\.108|217\.160\.142\.227|217\.160\.176\.42)' : 'metacrawler_de', '\.3721\.com' : '3721', 'ilse\.' : 'ilse', 'metacrawler\.' : 'metacrawler', 'sagool\.jp' : 'sagool', 'atlas\.cz' : 'atlas', 'vindex\.' : 'vindex', 'ixquick\.com' : 'ixquick', '66\.102\.[1-9]\.104' : 'google_cache', 'rambler\.ru' : 'rambler', 'answerbus\.com' : 'answerbus', 'evreka\.passagen\.se' : 'passagen', 'chello\.se' : 'chellose', 'clusty\.com' : 'clusty', 'search\.ch' : 'searchch', 'chello\.no' : 'chellono', 'searchalot\.com' : 'searchalot', 'questionanswering\.com' : 'questionanswering', 'seznam\.cz' : 'seznam', 'ukindex\.co\.uk' : 'ukindex', 'dmoz\.org' : 'dmoz', 'excite\.' : 'excite', 'chello\.pl' : 'chellopl', 'looksmart\.' : 'looksmart', '1klik\.dk' : '1klik', '\.vnet\.cn' : 'vnet', 'chello\.sk' : 'chellosk', '(^|\.)go\.com' : 'go', 'nusearch\.com' : 'nusearch', 'it\.ask.\com' : 'askit', 'bungeebonesdotcom' : 'bungeebonesdotcom', 'search\.terra\.' : 'terra', 'webcrawler\.' : 'webcrawler', 'suchen\.abacho\.de' : 'abacho', 'szukacz\.pl' : 'szukaczpl', '66\.249\.93\.104' : 'google_cache', 'search\.internetto\.hu' : 'internetto', 'goggle\.co\.hu' : 'google', 'mirago\.se' : 'miragose', 'images\.google\.' : 'google_image', 'segnalo\.alice\.it' : 'segnalo', '\.163\.com' : 'netease', 'chello' : 'chellocom'} +search_engines_hashid = {'recherche\.aol\.fr' : 'aolfr', 'google\.' : 'google', 'engine\.exe' : 'engine', 'netsprint\.pl\/hoga\-search' : 'hogapl', 'search\.fbdownloader\.com' : 'fbdownloader', 'chello\.pl' : 'chellopl', 'suche\.gmx\.net' : 'gmxsuche', '\.baidu\.com' : 'baidu', 'ya(ndex)?\.ru' : 'yandex', 'i-une\.com' : 'iune', 'edderkoppen\.dk' : 'edderkoppen', 'mirago\.dk' : 'miragodk', 'biglotron\.com' : 'biglotron', 'infoseek\.de' : 'infoseek', 'findarticles\.com' : 'findarticles', 'chello\.se' : 'chellose', 'suche\d?\.web\.de' : 'webde', 'goliat\.hu' : 'goliat', 'meinestadt\.de' : 'meinestadt', '\.accoona\.com' : 'accoona', 'nl\.ask.\com' : 'asknl', 'infospace\.com' : 'infospace', 'mysearch\.' : 'mysearch', 'francite\.' : 'francite', 'searchy\.co\.uk' : 'searchy', '(66\.218\.71\.225|216\.109\.117\.135|216\.109\.125\.130|66\.218\.69\.11)' : 'yahoo', 'iask\.com' : 'iask', 'googlee\.' : 'google', 'index\.hu' : 'indexhu', 'clusty\.com' : 'clusty', 'www\.startxxl\.com' : 'startxxl', 'search\.earthlink\.net' : 'earthlink', 'danielsen\.com' : 'danielsen', 'digg\.com' : 'digg', 'uk\.ask.\com' : 'askuk', 'mirago' : 'mirago', 'dodaj\.pl' : 'dodajpl', 'altavista\.' : 'altavista', 'chello\.no' : 'chellono', 'es\.mirago\.com' : 'miragoes', 'teoma\.' : 'teoma', 'isearch\.avg\.com' : 'avgsearch', 'search\..*\.\w+' : 'search', 'schoenerbrausen\.de' : 'schoenerbrausen', 'ineffabile\.it' : 'ineffabile', 'mozbot\.fr' : 'mozbot', 'atlas\.cz' : 'atlas', '1klik\.dk' : '1klik', 'de\.ask.\com' : 'askde', 'o2\.pl' : 'o2pl', '\.sogou\.com' : 'sogou', 'netluchs\.de' : 'netluchs', 'mindset\.research\.yahoo' : 'yahoo_mindset', 'search\.internetto\.hu' : 'internetto', 'search\.bluewin\.ch' : 'bluewin', 'images\.google\.' : 'google_image', 'mirago\.fr' : 'miragofr', 'nusearch\.com' : 'nusearch', 'stumbleupon\.com' : 'stumbleupon', 'o2suche\.aol\.de' : 'o2aolde', 'www\.benefind\.de' : 'benefind', 'search\.babylon\.com' : 'babylon', '(^|\.)ask\.com' : 'ask', 'teecno\.it' : 'teecnoit', 'yahoo\.' : 'yahoo', '\.3721\.com' : '3721', 'steady-search\.com' : 'steadysearch', 'sucheaol\.aol\.de' : 'aolde', '(brisbane|suche)\.t-online\.de' : 't-online', '216\.239\.5[0-9]\.104' : 'google_cache', 'chello\.hu' : 'chellohu', 'jubii\.dk' : 'jubii', 'www\.searchmobileonline\.com' : 'searchmobileonline', 'gotuneed\.com' : 'gotuneed', 'virgilio\.it' : 'virgilio', 'wwweasel\.de' : 'wwweasel', 'ledix\.net' : 'ledix', 'rambler\.ru' : 'rambler', 'arianna\.libero\.it' : 'arianna', 'ecosia\.org' : 'ecosiasearch', 'no\.mirago\.com' : 'miragono', 'as\.starware\.com' : 'comettoolbar', 'centrum\.cz' : 'centrum', 'mirago\.ch' : 'miragoch', 'supereva\.com' : 'supereva', 'groups\.google\.' : 'google_groups', 'spotjockey\.' : 'spotjockey', 'goggle\.co\.hu' : 'google', 'recherche\.club-internet\.fr' : 'clubinternet', 'toile\.com' : 'toile', 'centraldatabase\.org' : 'centraldatabase', 'ctrouve\.' : 'ctrouve', '(?:www[12]?|mixidj)\.delta-search\.com' : 'delta-search', 'search\.terra\.' : 'terra', 'blingo\.com' : 'blingo', 'rechercher\.libertysurf\.fr' : 'libertysurf', 'gery\.pl' : 'gerypl', 'avantfind\.com' : 'avantfind', 'godado' : 'godado', 'anzwers\.com\.au' : 'anzwers', 'scroogle\.org' : 'scroogle', 'eniro\.se' : 'enirose', 'chello\.cz' : 'chellocz', 'mamma\.' : 'mamma', 'sify\.com' : 'sify', '(^|\.)ask\.co\.uk' : 'askuk', 'netstjernen\.dk' : 'netstjernen', 'search\.ch' : 'searchch', 'answerbus\.com' : 'answerbus', 'alltheweb\.com' : 'alltheweb', 'netscape\.' : 'netscape', 'ask\.jp' : 'askjp', 'search\.alice\.it\.master' : 'aliceitmaster', 'chello\.fr' : 'chellofr', 'voila\.' : 'voila', 'del\.icio\.us' : 'delicious', 'mirago\.be' : 'miragobe', '\.zhongsou\.com' : 'zhongsou', 'chello' : 'chellocom', 'haku\.www\.fi' : 'haku', 'seznam\.cz' : 'seznam', 'webcrawler\.' : 'webcrawler', 'hotbot\.' : 'hotbot', 'looksmart\.co\.uk' : 'looksmartuk', 'bing\.' : 'bing', 'orbis\.dk' : 'orbis', 'froogle\.google\.' : 'google_froogle', 'int\.search-results\.com' : 'nortonsavesearch', 'keresolap\.hu' : 'keresolap_hu', '216\.239\.(35|37|39|51)\.100' : 'google_cache', 'jyxo\.(cz|com)' : 'jyxo', 'suche\.aol\.de' : 'aolsuche', 'zoznam\.sk' : 'zoznam', 'mirago\.de' : 'miragode', '\.lbb\.org' : 'lbb', 'search\.genieo\.com' : 'genieo', 'shinyseek\.it' : 'shinyseek\.it', 'www\.holasearch\.com' : 'holasearch', 'excite\.' : 'excite', '216\.239\.(35|37|39|51)\.101' : 'google_cache', 'swik\.net' : 'swik', '66\.249\.93\.104' : 'google_cache', 'miner\.bol\.com\.br' : 'miner', '\.163\.com' : 'netease', '\.vnet\.cn' : 'vnet', 'pogodak\.' : 'pogodak', 'go2net\.com' : 'go2net', 'dogpile\.com' : 'dogpile', 'live\.com' : 'live', 'claro-search\.com' : 'clarosearch', 'nbci\.com\/search' : 'nbci', 'search\.alice\.it' : 'aliceit', 'evreka\.passagen\.se' : 'passagen', 'tiscali\.' : 'tiscali', 'copernic\.com' : 'copernic', 'overture\.com' : 'overture', 'search\.sli\.sympatico\.ca' : 'sympatico', 'fr\.ask.\com' : 'askfr', 'alexa\.com' : 'alexa', 'find\.dk' : 'finddk', '(161\.58\.227\.204|161\.58\.247\.101|212\.40\.165\.90|213\.133\.108\.202|217\.160\.108\.151|217\.160\.111\.99|217\.160\.131\.108|217\.160\.142\.227|217\.160\.176\.42)' : 'metacrawler_de', 'msn\.' : 'msn', 'search\.conduit\.com' : 'conduit', 'sapo\.pt' : 'sapo', 'ukplus\.' : 'ukplus', 'looksmart\.' : 'looksmart', 'sol\.dk' : 'sol', 'kataweb\.it' : 'kataweb', 'interia\.pl' : 'interiapl', 'polymeta\.hu' : 'polymeta_hu', 'chello\.sk' : 'chellosk', 'search[\w\-]+\.free\.fr' : 'free', 'metabot\.ru' : 'metabot', 'netsprint\.pl' : 'netsprintpl', 'lapkereso\.hu' : 'lapkereso', 'wisenut\.com' : 'wisenut', 'tango\.hu' : 'tango_hu', 'mywebsearch\.com' : 'mywebsearch', 'eniro\.no' : 'eniro', 'szukaj\.onet\.pl' : 'onetpl', '\.soso\.com' : 'soso', 'segnalo\.alice\.it' : 'segnalo', 'splut\.' : 'splut', 'fireball\.de' : 'fireball', 'vindex\.' : 'vindex', 'dmoz\.org' : 'dmoz', 'search\.aol\.co' : 'aol', 'goodsearch\.com' : 'goodsearch', '[a-z]serv\.rrzn\.uni-hannover\.de' : 'meta', 'bungeebonesdotcom' : 'bungeebonesdotcom', 'ofir\.dk' : 'ofir', 'ifind\.freeserve' : 'freeserve', 'de\.aolsearch\.com' : 'aolsearch', 'mirago\.se' : 'miragose', 'att\.net' : 'att', 'www\.search\.com' : 'search.com', 'chello\.be' : 'chellobe', 'ixquick\.com' : 'ixquick', 'szukaj\.wp\.pl' : 'wp', 'katalog\.onet\.pl' : 'katalogonetpl', 'vivisimo\.com' : 'vivisimo', 'northernlight\.' : 'northernlight', 'turtle\.ru' : 'turtle', 'wow\.pl' : 'wowpl', '(^|\.)go\.com' : 'go', 'szukacz\.pl' : 'szukaczpl', 'metacrawler\.' : 'metacrawler', 'googlecom\.com' : 'google', 'dejanews\.' : 'dejanews', 'mirago\.it' : 'miragoit', '64\.233\.1[0-9]{2}\.104' : 'google_cache', 'wahoo\.hu' : 'wahoo', 'mirago\.nl' : 'miragonl', 'a9\.com' : 'a9', 'suchen\.abacho\.de' : 'abacho', 'bbc\.co\.uk/cgi-bin/search' : 'bbc', 'questionanswering\.com' : 'questionanswering', 'najdi\.to' : 'najdi', 'jumpy\.it' : 'jumpy\.it', 'aport\.ru' : 'aport', 'vizsla\.origo\.hu' : 'origo', 'spray\.' : 'spray', 'sphere\.com' : 'sphere', 'steadysearch\.com' : 'steadysearch', '66\.102\.[1-9]\.104' : 'google_cache', 'chello\.nl' : 'chellonl', 'atomz\.' : 'atomz', 'google\.[\w.]+/products' : 'google_products', 'redbox\.cz' : 'redbox', 'lycos\.' : 'lycos', 'chello\.at' : 'chelloat', 'quick\.cz' : 'quick', 'kartoo\.com' : 'kartoo', 'icerocket\.com' : 'icerocket', 'mirago\.co\.uk' : 'miragocouk', 'gazeta\.pl' : 'gazetapl', 'start\.shaw\.ca' : 'shawca', 'allesklar\.de' : 'allesklar', 'polska\.pl' : 'polskapl', 'start\.iminent\.com' : 'iminent', 'tyfon\.dk' : 'tyfon', 'heureka\.hu' : 'heureka', 'webmania\.hu' : 'webmania', 'es\.ask.\com' : 'askes', 'opasia\.dk' : 'opasia', 'euroseek\.' : 'euroseek', 'ilse\.' : 'ilse', 'it\.ask.\com' : 'askit', 'base\.google\.' : 'google_base', '4\-counter\.com' : 'google4counter', '212\.227\.33\.241' : 'metaspinner', 'sok\.start\.no' : 'start', 'ukindex\.co\.uk' : 'ukindex', 'static\.flipora\.com' : 'flipora', 'ukdirectory\.' : 'ukdirectory', 'searchalot\.com' : 'searchalot', 'sagool\.jp' : 'sagool', 'www1\.search-results\.com' : 'searchresults', 'kvasir\.' : 'kvasir', 'icq\.com\/search' : 'icq', '72\.14\.2[0-9]{2}\.104' : 'google_cache', 'www.sfr\.fr\/recherche\/google' : 'google', 'searches\.omiga-plus\.com' : 'Omiga-plus', 'lemoteur\.orange\.fr' : 'Orange', 'searches\.vi-view\.com' : 'vi-view', 'qwant\.com' : 'Qwant', 'buenosearch\.com' : 'Bueno Search', 'wow\.com' : 'WOW', 'windowssearch\.com' : 'Windows Search', 'jwss\.cc' : 'jws'} -search_engines_knwown_url = {'dmoz' : 'search=', 'google' : '(p|q|as_p|as_q)=', 'searchalot' : 'q=', 'teoma' : 'q=', 'looksmartuk' : 'key=', 'polymeta_hu' : '', 'google_groups' : 'group\/', 'iune' : '(keywords|q)=', 'chellosk' : 'q1=', 'eniro' : 'q=', 'msn' : 'q=', 'webcrawler' : 'searchText=', 'mirago' : '(txtsearch|qry)=', 'enirose' : 'q=', 'miragobe' : '(txtsearch|qry)=', 'netease' : 'q=', 'netluchs' : 'query=', 'google_products' : '(p|q|as_p|as_q)=', 'jyxo' : '(s|q)=', 'origo' : '(q|search)=', 'ilse' : 'search_for=', 'chellocom' : 'q1=', 'goodsearch' : 'Keywords=', 'ledix' : 'q=', 'mozbot' : 'q=', 'chellocz' : 'q1=', 'webde' : 'su=', 'biglotron' : 'question=', 'metacrawler_de' : 'qry=', 'finddk' : 'words=', 'start' : 'q=', 'sagool' : 'q=', 'miragoch' : '(txtsearch|qry)=', 'google_base' : '(p|q|as_p|as_q)=', 'aliceit' : 'qs=', 'shinyseek\.it' : 'KEY=', 'onetpl' : 'qt=', 'clusty' : 'query=', 'chellonl' : 'q1=', 'miragode' : '(txtsearch|qry)=', 'miragose' : '(txtsearch|qry)=', 'o2pl' : 'qt=', 'goliat' : 'KERESES=', 'kvasir' : 'q=', 'askfr' : '(ask|q)=', 'infoseek' : 'qt=', 'yahoo_mindset' : 'p=', 'comettoolbar' : 'qry=', 'alltheweb' : 'q(|uery)=', 'miner' : 'q=', 'aol' : 'query=', 'rambler' : 'words=', 'scroogle' : 'Gw=', 'chellose' : 'q1=', 'ineffabile' : '', 'miragoit' : '(txtsearch|qry)=', 'yandex' : 'text=', 'segnalo' : '', 'dodajpl' : 'keyword=', 'avantfind' : 'keywords=', 'nusearch' : 'nusearch_terms=', 'bbc' : 'q=', 'supereva' : 'q=', 'atomz' : 'sp-q=', 'searchy' : 'search_term=', 'dogpile' : 'q(|kw)=', 'chellohu' : 'q1=', 'vnet' : 'kw=', '1klik' : 'query=', 't-online' : 'q=', 'hogapl' : 'qt=', 'stumbleupon' : '', 'soso' : 'q=', 'zhongsou' : '(word|w)=', 'a9' : 'a9\.com\/', 'centraldatabase' : 'query=', 'mamma' : 'query=', 'icerocket' : 'q=', 'ask' : '(ask|q)=', 'chellobe' : 'q1=', 'altavista' : 'q=', 'vindex' : 'in=', 'miragodk' : '(txtsearch|qry)=', 'chelloat' : 'q1=', 'digg' : 's=', 'metacrawler' : 'general=', 'nbci' : 'keyword=', 'chellono' : 'q1=', 'icq' : 'q=', 'arianna' : 'query=', 'miragocouk' : '(txtsearch|qry)=', '3721' : '(p|name)=', 'pogodak' : 'q=', 'ukdirectory' : 'k=', 'overture' : 'keywords=', 'heureka' : 'heureka=', 'teecnoit' : 'q=', 'miragoes' : '(txtsearch|qry)=', 'haku' : 'w=', 'go' : 'qt=', 'fireball' : 'q=', 'wisenut' : 'query=', 'sify' : 'keyword=', 'ixquick' : 'query=', 'anzwers' : 'search=', 'quick' : 'query=', 'jubii' : 'soegeord=', 'questionanswering' : '', 'asknl' : '(ask|q)=', 'askde' : '(ask|q)=', 'att' : 'qry=', 'terra' : 'query=', 'bing' : 'q=', 'wowpl' : 'q=', 'freeserve' : 'q=', 'atlas' : '(searchtext|q)=', 'askuk' : '(ask|q)=', 'godado' : 'Keywords=', 'northernlight' : 'qr=', 'answerbus' : '', 'search.com' : 'q=', 'google_image' : '(p|q|as_p|as_q)=', 'jumpy\.it' : 'searchWord=', 'gazetapl' : 'slowo=', 'yahoo' : 'p=', 'hotbot' : 'mt=', 'metabot' : 'st=', 'copernic' : 'web\/', 'kartoo' : '', 'metaspinner' : 'qry=', 'toile' : 'q=', 'aolde' : 'q=', 'blingo' : 'q=', 'askit' : '(ask|q)=', 'netscape' : 'search=', 'splut' : 'pattern=', 'looksmart' : 'key=', 'sphere' : 'q=', 'sol' : 'q=', 'miragono' : '(txtsearch|qry)=', 'kataweb' : 'q=', 'ofir' : 'querytext=', 'aliceitmaster' : 'qs=', 'miragofr' : '(txtsearch|qry)=', 'spray' : 'string=', 'seznam' : '(w|q)=', 'interiapl' : 'q=', 'euroseek' : 'query=', 'schoenerbrausen' : 'q=', 'centrum' : 'q=', 'netsprintpl' : 'q=', 'go2net' : 'general=', 'katalogonetpl' : 'qt=', 'ukindex' : 'stext=', 'shawca' : 'q=', 'szukaczpl' : 'q=', 'accoona' : 'qt=', 'live' : 'q=', 'google4counter' : '(p|q|as_p|as_q)=', 'iask' : '(w|k)=', 'earthlink' : 'q=', 'tiscali' : 'key=', 'askes' : '(ask|q)=', 'gotuneed' : '', 'clubinternet' : 'q=', 'redbox' : 'srch=', 'delicious' : 'all=', 'chellofr' : 'q1=', 'lycos' : 'query=', 'sympatico' : 'query=', 'vivisimo' : 'query=', 'bluewin' : 'qry=', 'mysearch' : 'searchfor=', 'google_cache' : '(p|q|as_p|as_q)=cache:[0-9A-Za-z]{12}:', 'ukplus' : 'search=', 'gerypl' : 'q=', 'keresolap_hu' : 'q=', 'abacho' : 'q=', 'engine' : 'p1=', 'opasia' : 'q=', 'wp' : 'szukaj=', 'steadysearch' : 'w=', 'chellopl' : 'q1=', 'voila' : '(kw|rdata)=', 'aport' : 'r=', 'internetto' : 'searchstr=', 'passagen' : 'q=', 'wwweasel' : 'q=', 'najdi' : 'dotaz=', 'alexa' : 'q=', 'baidu' : '(wd|word)=', 'spotjockey' : 'Search_Keyword=', 'virgilio' : 'qs=', 'orbis' : 'search_field=', 'tango_hu' : 'q=', 'askjp' : '(ask|q)=', 'bungeebonesdotcom' : 'query=', 'francite' : 'name=', 'searchch' : 'q=', 'google_froogle' : '(p|q|as_p|as_q)=', 'excite' : 'search=', 'infospace' : 'qkw=', 'polskapl' : 'qt=', 'swik' : 'swik\.net/', 'edderkoppen' : 'query=', 'mywebsearch' : 'searchfor=', 'danielsen' : 'q=', 'wahoo' : 'q=', 'sogou' : 'query=', 'miragonl' : '(txtsearch|qry)=', 'findarticles' : 'key='} +search_engines_knwown_url = {'clusty' : 'query=', 'mywebsearch' : 'searchfor=', 'o2pl' : 'qt=', 'jubii' : 'soegeord=', 'finddk' : 'words=', 'chellono' : 'q1=', 'search.com' : 'q=', 'askuk' : '(ask|q)=', 'iminent' : 'q=', 'earthlink' : 'q=', 'passagen' : 'q=', 'miragobe' : '(txtsearch|qry)=', 'miragoit' : '(txtsearch|qry)=', 'danielsen' : 'q=', 'askde' : '(ask|q)=', 'looksmartuk' : 'key=', 'orbis' : 'search_field=', 'chellocz' : 'q1=', 'nusearch' : 'nusearch_terms=', 'searchmobileonline' : 'q=', 'avantfind' : 'keywords=', 'kartoo' : '', 'asknl' : '(ask|q)=', 'chellose' : 'q1=', 'teoma' : 'q=', 'bungeebonesdotcom' : 'query=', 'metacrawler_de' : 'qry=', '1klik' : 'query=', 'bing' : 'q=', 'mysearch' : 'searchfor=', 'aolsearch' : 'q=', 'yahoo_mindset' : 'p=', 'go' : 'qt=', 'wisenut' : 'query=', 'chellohu' : 'q1=', 'iune' : '(keywords|q)=', 'francite' : 'name=', 'gmxsuche' : 'q=', 'benefind' : 'q=', 'o2aolde' : 'q=', 'jyxo' : '(s|q)=', 'chellopl' : 'q1=', 'schoenerbrausen' : 'q=', 'findarticles' : 'key=', 'looksmart' : 'key=', 'conduit' : 'q=', 'google4counter' : '(p|q|as_p|as_q)=', 'google_image' : '(p|q|as_p|as_q)=', 'spray' : 'string=', 'baidu' : '(wd|word)=', 'mamma' : 'query=', 'chelloat' : 'q1=', 'ixquick' : 'query=', 'heureka' : 'heureka=', '3721' : '(p|name)=', 'questionanswering' : '', 'live' : 'q=', 'kataweb' : 'q=', 'aliceit' : 'qs=', 'google_products' : '(p|q|as_p|as_q)=', 'euroseek' : 'query=', 'sympatico' : 'query=', 'go2net' : 'general=', 'accoona' : 'qt=', 'netease' : 'q=', 'redbox' : 'srch=', 'sol' : 'q=', 'goodsearch' : 'Keywords=', 'miragoch' : '(txtsearch|qry)=', 'seznam' : '(w|q)=', 'chellonl' : 'q1=', 'start' : 'q=', 'zhongsou' : '(word|w)=', 'ecosiasearch' : 'q=', 'katalogonetpl' : 'qt=', 'nortonsavesearch' : 'q=', 'aolsuche' : 'q=', 'att' : 'qry=', 'delicious' : 'all=', 'origo' : '(q|search)=', 'jumpy\.it' : 'searchWord=', 'wwweasel' : 'q=', 'aliceitmaster' : 'qs=', 'sagool' : 'q=', 'flipora' : 'q=', 'gerypl' : 'q=', 'miragode' : '(txtsearch|qry)=', 'nbci' : 'keyword=', 'searchresults' : 'q=', 'centrum' : 'q=', 'engine' : 'p1=', 'tango_hu' : 'q=', 'netluchs' : 'query=', 'delta-search' : 'q=', 'icerocket' : 'q=', 'spotjockey' : 'Search_Keyword=', 'northernlight' : 'qr=', 'dodajpl' : 'keyword=', 'google_base' : '(p|q|as_p|as_q)=', 'google_cache' : '(p|q|as_p|as_q)=cache:[0-9A-Za-z]{12}:', 'blingo' : 'q=', 'google_froogle' : '(p|q|as_p|as_q)=', 'abacho' : 'q=', 'holasearch' : 'q=', 'fireball' : 'q=', 'google' : '(p|q|as_p|as_q)=', 'terra' : 'query=', 't-online' : 'q=', 'aol' : 'query=', 'lycos' : 'query=', 'edderkoppen' : 'query=', 'hogapl' : 'qt=', 'yandex' : 'text=', 'askjp' : '(ask|q)=', 'dmoz' : 'search=', 'chellocom' : 'q1=', 'goliat' : 'KERESES=', 'hotbot' : 'mt=', 'ukplus' : 'search=', 'anzwers' : 'search=', 'aport' : 'r=', 'avgsearch' : 'q=', 'centraldatabase' : 'query=', 'ilse' : 'search_for=', 'miragofr' : '(txtsearch|qry)=', 'metacrawler' : 'general=', 'infoseek' : 'qt=', 'aolde' : 'q=', 'interiapl' : 'q=', 'dogpile' : 'q(|kw)=', 'google_groups' : 'group\/', 'biglotron' : 'question=', 'startxxl' : 'q=', 'alexa' : 'q=', 'iask' : '(w|k)=', 'clarosearch' : 'q=', 'atlas' : '(searchtext|q)=', 'wahoo' : 'q=', 'toile' : 'q=', 'sphere' : 'q=', 'metabot' : 'st=', 'scroogle' : 'Gw=', 'mirago' : '(txtsearch|qry)=', 'alltheweb' : 'q(|uery)=', 'yahoo' : 'p=', 'pogodak' : 'q=', 'ukindex' : 'stext=', 'gazetapl' : 'slowo=', 'genieo' : 'q=', 'szukaczpl' : 'q=', 'steadysearch' : 'w=', 'gotuneed' : '', 'miner' : 'q=', 'virgilio' : 'qs=', 'miragodk' : '(txtsearch|qry)=', 'mozbot' : 'q=', 'wp' : 'szukaj=', 'swik' : 'swik\.net/', 'wowpl' : 'q=', 'najdi' : 'dotaz=', 'keresolap_hu' : 'q=', 'vivisimo' : 'query=', 'polymeta_hu' : '', 'kvasir' : 'q=', 'babylon' : 'q=', 'icq' : 'q=', 'comettoolbar' : 'qry=', 'vindex' : 'in=', 'atomz' : 'sp-q=', 'fbdownloader' : 'q=', 'ledix' : 'q=', 'ofir' : 'querytext=', 'chellobe' : 'q1=', 'answerbus' : '', 'miragoes' : '(txtsearch|qry)=', 'sogou' : 'query=', 'segnalo' : '', 'voila' : '(kw|rdata)=', 'msn' : 'q=', 'quick' : 'query=', 'webcrawler' : 'searchText=', 'searchch' : 'q=', 'internetto' : 'searchstr=', 'sify' : 'keyword=', 'arianna' : 'query=', 'splut' : 'pattern=', 'enirose' : 'q=', 'netscape' : 'search=', 'godado' : 'Keywords=', 'stumbleupon' : '', 'overture' : 'keywords=', 'netsprintpl' : 'q=', 'rambler' : 'words=', 'freeserve' : 'q=', 'chellofr' : 'q1=', 'askes' : '(ask|q)=', 'copernic' : 'web\/', 'polskapl' : 'qt=', 'bluewin' : 'qry=', 'ineffabile' : '', 'miragose' : '(txtsearch|qry)=', 'supereva' : 'q=', 'miragonl' : '(txtsearch|qry)=', 'metaspinner' : 'qry=', 'excite' : 'search=', 'miragocouk' : '(txtsearch|qry)=', 'ukdirectory' : 'k=', 'ask' : '(ask|q)=', 'opasia' : 'q=', 'bbc' : 'q=', 'a9' : 'a9\.com\/', 'eniro' : 'q=', 'askfr' : '(ask|q)=', 'askit' : '(ask|q)=', 'teecnoit' : 'q=', 'shawca' : 'q=', 'digg' : 's=', 'webde' : 'su=', 'searchalot' : 'q=', 'soso' : 'q=', 'shinyseek\.it' : 'KEY=', 'vnet' : 'kw=', 'clubinternet' : 'q=', 'miragono' : '(txtsearch|qry)=', 'chellosk' : 'q1=', 'tiscali' : 'key=', 'onetpl' : 'qt=', 'haku' : 'w=', 'altavista' : 'q=', 'infospace' : 'qkw=', 'searchy' : 'search_term=', 'vi-view' : 'q=', 'jws' : 'q=', 'WOW' : 'q=', 'Omiga-plus' : 'q=', 'Qwant' : 'q=', 'Windows Search' : 'q=', 'Bueno Search' : 'q=', 'Orange' : 'kw='} + +operating_systems = ['windows[_+ ]?2005', 'windows[_+ ]nt[_+ ]6\.0', 'windows[_+ ]?2008', 'windows[_+ ]nt[_+ ]6\.1', 'windows[_+ ]?2012', 'windows[_+ ]nt[_+ ]6\.2', 'windows[_+ ]?vista', 'windows[_+ ]nt[_+ ]6', 'windows[_+ ]?2003', 'windows[_+ ]nt[_+ ]5\.2', 'windows[_+ ]xp', 'windows[_+ ]nt[_+ ]5\.1', 'windows[_+ ]me', 'win[_+ ]9x', 'windows[_+ ]?2000', 'windows[_+ ]nt[_+ ]5', 'winnt', 'windows[_+ \-]?nt', 'win32', 'win(.*)98', 'win(.*)95', 'win(.*)16', 'windows[_+ ]3', 'win(.*)ce', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]9', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]8', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]7', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]6', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]5', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]4', 'mac[_+ ]os[_+ ]x', 'mac[_+ ]?p', 'mac[_+ ]68', 'macweb', 'macintosh', 'linux(.*)android', 'linux(.*)asplinux', 'linux(.*)centos', 'linux(.*)debian', 'linux(.*)fedora', 'linux(.*)gentoo', 'linux(.*)mandr', 'linux(.*)momonga', 'linux(.*)pclinuxos', 'linux(.*)red[_+ ]hat', 'linux(.*)suse', 'linux(.*)ubuntu', 'linux(.*)vector', 'linux(.*)vine', 'linux(.*)white\sbox', 'linux(.*)zenwalk', 'linux', 'gnu.hurd', 'bsdi', 'gnu.kfreebsd', 'freebsd', 'openbsd', 'netbsd', 'dragonfly', 'aix', 'sunos', 'irix', 'osf', 'hp\-ux', 'unix', 'x11', 'gnome\-vfs', 'beos', 'os/2', 'amiga', 'atari', 'vms', 'commodore', 'qnx', 'inferno', 'palmos', 'syllable', 'blackberry', 'cp/m', 'crayos', 'dreamcast', 'iphone[_+ ]os', 'risc[_+ ]?os', 'symbian', 'webtv', 'playstation', 'xbox', 'wii', 'vienna', 'newsfire', 'applesyndication', 'akregator', 'plagger', 'syndirella', 'j2me', 'java', 'microsoft', 'msie[_+ ]', 'ms[_+ ]frontpage', 'windows'] + +operating_systems_hashid = {'qnx' : 'qnx', 'blackberry' : 'blackberry', 'linux(.*)suse' : 'linuxsuse', 'linux(.*)white\sbox' : 'linuxwhitebox', 'amiga' : 'amigaos', 'java' : 'java', 'linux(.*)momonga' : 'linuxmomonga', 'msie[_+ ]' : 'winunknown', 'symbian' : 'symbian', 'microsoft' : 'winunknown', 'beos' : 'beos', 'win(.*)ce' : 'wince', 'applesyndication' : 'macosx', 'playstation' : 'psp', 'windows[_+ ]me' : 'winme', 'gnu.hurd' : 'gnu', 'gnu.kfreebsd' : 'bsdkfreebsd', 'windows[_+ ]nt[_+ ]6' : 'winvista', 'syllable' : 'syllable', 'openbsd' : 'bsdopenbsd', 'unix' : 'unix', 'windows[_+ ]nt[_+ ]5\.2' : 'win2003', 'linux(.*)android' : 'linuxandroid', 'windows[_+ ]nt[_+ ]5\.1' : 'winxp', 'mac[_+ ]os[_+ ]x' : 'macosx', 'gnome\-vfs' : 'unix', 'windows[_+ ]nt[_+ ]6\.0' : 'winlong', 'palmos' : 'palmos', 'windows[_+ ]nt[_+ ]6\.1' : 'win7', 'sunos' : 'sunos', 'windows[_+ ]?2005' : 'winlong', 'newsfire' : 'macosx', 'vms' : 'vms', 'risc[_+ ]?os' : 'riscos', 'linux' : 'linux', 'ms[_+ ]frontpage' : 'winunknown', 'vienna' : 'macosx', 'mac[_+ ]68' : 'macintosh', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]7' : 'macosx7', 'windows[_+ ]nt[_+ ]5' : 'win2000', 'syndirella' : 'winxp', 'wii' : 'wii', 'irix' : 'irix', 'dragonflybsd' : 'bsddflybsd', 'windows' : 'winunknown', 'atari' : 'atari', 'netbsd' : 'bsdnetbsd', 'macintosh' : 'macintosh', 'plagger' : 'unix', 'x11' : 'unix', 'linux(.*)zenwalk' : 'linuxzenwalk', 'crayos' : 'crayos', 'dreamcast' : 'dreamcast', 'linux(.*)vine' : 'linuxvine', 'osf' : 'osf', 'akregator' : 'linux', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]8' : 'macosx8', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]6' : 'macosx6', 'win(.*)95' : 'win95', 'windows[_+ ]?vista' : 'winvista', 'os/2' : 'os/2', 'linux(.*)debian' : 'linuxdebian', 'webtv' : 'webtv', 'win[_+ ]9x' : 'winme', 'aix' : 'aix', 'cp/m' : 'cp/m', 'linux(.*)red[_+ ]hat' : 'linuxredhat', 'win(.*)16' : 'win16', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]5' : 'macosx5', 'linux(.*)asplinux' : 'linuxasplinux', 'inferno' : 'inferno', 'win(.*)98' : 'win98', 'bsdi' : 'bsdi', 'windows[_+ ]?2008' : 'win2008', 'freebsd' : 'bsdfreebsd', 'hp\-ux' : 'hp\-ux', 'windows[_+ ]xp' : 'winxp', 'commodore' : 'commodore', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]9' : 'macosx9', 'xbox' : 'winxbox', 'windows[_+ \-]?nt' : 'winnt', 'linux(.*)gentoo' : 'linuxgentoo', 'windows[_+ ]?2012' : 'win2012', 'macweb' : 'macintosh', 'winnt' : 'winnt', 'linux(.*)fedora' : 'linuxfedora', 'iphone[_+ ]os' : 'ios', 'win32' : 'winnt', 'windows[_+ ]?2000' : 'win2000', 'linux(.*)pclinuxos' : 'linuxpclinuxos', 'j2me' : 'j2me', 'windows[_+ ]3' : 'win16', 'linux(.*)vector' : 'linuxvector', 'mac[_+ ]?p' : 'macintosh', 'mac[_+ ]os[_+ ]x[_+ ]10[_\.]4' : 'macosx4', 'windows[_+ ]?2003' : 'win2003', 'linux(.*)mandr' : 'linuxmandr', 'linux(.*)ubuntu' : 'linuxubuntu', 'linux(.*)centos' : 'linuxcentos', 'windows[_+ ]nt[_+ ]6\.2' : 'win8'} + +operating_systems_family = {'linux' : 'Linux', 'bsd' : 'BSD', 'win' : 'Windows', 'mac' : 'Macintosh'} + +browsers = ['elinks', 'firebird', 'go!zilla', 'icab', 'links', 'lynx', 'omniweb', '22acidownload', 'abrowse', 'aol\-iweng', 'amaya', 'amigavoyager', 'arora', 'aweb', 'charon', 'donzilla', 'seamonkey', 'flock', 'minefield', 'bonecho', 'granparadiso', 'songbird', 'strata', 'sylera', 'kazehakase', 'prism', 'icecat', 'iceape', 'iceweasel', 'w3clinemode', 'bpftp', 'camino', 'chimera', 'cyberdog', 'dillo', 'xchaos_arachne', 'doris', 'dreamcast', 'xbox', 'downloadagent', 'ecatch', 'emailsiphon', 'encompass', 'epiphany', 'friendlyspider', 'fresco', 'galeon', 'flashget', 'freshdownload', 'getright', 'leechget', 'netants', 'headdump', 'hotjava', 'ibrowse', 'intergo', 'k\-meleon', 'k\-ninja', 'linemodebrowser', 'lotus\-notes', 'macweb', 'multizilla', 'ncsa_mosaic', 'netcaptor', 'netpositive', 'nutscrape', 'msfrontpageexpress', 'contiki', 'emacs\-w3', 'phoenix', 'shiira', 'tzgeturl', 'viking', 'webfetcher', 'webexplorer', 'webmirror', 'webvcr', 'qnx\svoyager', 'cloudflare', 'grabber', 'teleport', 'webcapture', 'webcopier', 'real', 'winamp', 'windows\-media\-player', 'audion', 'freeamp', 'itunes', 'jetaudio', 'mint_audio', 'mpg123', 'mplayer', 'nsplayer', 'qts', 'quicktime', 'sonique', 'uplayer', 'xaudio', 'xine', 'xmms', 'gstreamer', 'abilon', 'aggrevator', 'aiderss', 'akregator', 'applesyndication', 'betanews_reader', 'blogbridge', 'cyndicate', 'feeddemon', 'feedreader', 'feedtools', 'greatnews', 'gregarius', 'hatena_rss', 'jetbrains_omea', 'liferea', 'netnewswire', 'newsfire', 'newsgator', 'newzcrawler', 'plagger', 'pluck', 'potu', 'pubsub\-rss\-reader', 'pulpfiction', 'rssbandit', 'rssreader', 'rssowl', 'rss\sxpress', 'rssxpress', 'sage', 'sharpreader', 'shrook', 'straw', 'syndirella', 'vienna', 'wizz\srss\snews\sreader', 'alcatel', 'lg\-', 'mot\-', 'nokia', 'panasonic', 'philips', 'sagem', 'samsung', 'sie\-', 'sec\-', 'sonyericsson', 'ericsson', 'mmef', 'mspie', 'vodafone', 'wapalizer', 'wapsilon', 'wap', 'webcollage', 'up\.', 'android', 'blackberry', 'cnf2', 'docomo', 'ipcheck', 'iphone', 'portalmmm', 'webtv', 'democracy', 'cjb\.net', 'ossproxy', 'smallproxy', 'adobeair', 'apt', 'analogx_proxy', 'gnome\-vfs', 'neon', 'curl', 'csscheck', 'httrack', 'fdm', 'javaws', 'wget', 'fget', 'chilkat', 'webdownloader\sfor\sx', 'w3m', 'wdg_validator', 'w3c_validator', 'jigsaw', 'webreaper', 'webzip', 'staroffice', 'gnus', 'nikto', 'download\smaster', 'microsoft\-webdav\-miniredir', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav', 'POE\-Component\-Client\-HTTP', 'mozilla', 'libwww', 'lwp', 'WebSec'] + +browsers_hashid = {'sie\-' : 'SIE (PDA/Phone browser)', 'gnus' : 'Gnus Network User Services', 'webcopier' : 'WebCopier', 'nokia' : 'Nokia Browser (PDA/Phone browser)', 'feedtools' : 'FeedTools (RSS Reader)', 'iceape' : 'GNU IceApe', 'xbox' : 'XBoX', 'lotus\-notes' : 'Lotus Notes web client', 'konqueror' : 'Konqueror', 'hatena_rss' : 'Hatena (RSS Reader)', 'feeddemon' : 'FeedDemon (RSS Reader)', 'bpftp' : 'BPFTP', 'macweb' : 'MacWeb', 'sonyericsson' : 'Sony/Ericsson Browser (PDA/Phone browser)', 'straw' : 'Straw (RSS Reader)', 'democracy' : 'Democracy', 'emacs\-w3' : 'Emacs/w3s', 'xaudio' : 'Some XAudio Engine based MPEG player (media player)', 'android' : 'Android browser (PDA/Phone browser)', 'linemodebrowser' : 'W3C Line Mode Browser', 'sylera' : 'Sylera', 'jetaudio' : 'JetAudio (media player)', 'alcatel' : 'Alcatel Browser (PDA/Phone browser)', 'amaya' : 'Amaya', 'k\-meleon' : 'K-Meleon', 'netnewswire' : 'NetNewsWire (RSS Reader)', 'jetbrains_omea' : 'Omea (RSS Reader)', 'windows\-media\-player' : 'Windows Media Player (media player)', 'sage' : 'Sage (RSS Reader)', 'netpositive' : 'NetPositive', 'webvcr' : 'WebVCR', 'rssbandit' : 'RSS Bandit (RSS Reader)', 'wapalizer' : 'WAPalizer (PDA/Phone browser)', 'arora' : 'Arora', 'w3c_validator' : 'W3C Validator', 'netcaptor' : 'NetCaptor', 'audion' : 'Audion (media player)', 'sec\-' : 'Sony/Ericsson (PDA/Phone browser)', 'lynx' : 'Lynx', 'aggrevator' : 'Aggrevator (RSS Reader)', 'cjb\.net' : 'CJB.NET Proxy', 'feedreader' : 'FeedReader (RSS Reader)', 'itunes' : 'Apple iTunes (media player)', 'bonecho' : 'BonEcho (Firefox 2.0 development)', 'mozilla' : 'Mozilla', 'ericsson' : 'Ericsson Browser (PDA/Phone browser)', 'phoenix' : 'Phoenix', 'grabber' : 'Grabber', 'dillo' : 'Dillo', 'charon' : 'Charon', 'prism' : 'Prism', 'apt' : 'Debian APT', 'wdg_validator' : 'WDG HTML Validator', 'msfrontpageexpress' : 'MS FrontPage Express', 'newzcrawler' : 'NewzCrawler (RSS Reader)', 'mint_audio' : 'Mint Audio (media player)', 'abilon' : 'Abilon (RSS Reader)', 'adobeair' : 'AdobeAir', 'microsoft\-webdav\-miniredir' : 'Microsoft Data Access Component Internet Publishing Provider', 'staroffice' : 'StarOffice', '22acidownload' : '22AciDownload', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager' : 'Microsoft Data Access Component Internet Publishing Provider Cache Manager', 'seamonkey' : 'SeaMonkey', 'friendlyspider' : 'FriendlySpider', 'shrook' : 'Shrook (RSS Reader)', 'mspie' : 'MS Pocket Internet Explorer (PDA/Phone browser)', 'blogbridge' : 'BlogBridge (RSS Reader)', 'fresco' : 'ANT Fresco', 'wizz\srss\snews\sreader' : 'Wizz RSS News Reader (RSS Reader)', 'docomo' : 'I-Mode phone (PDA/Phone browser)', 'winamp' : 'WinAmp (media player)', 'webtv' : 'WebTV browser', 'freshdownload' : 'FreshDownload', 'ecatch' : 'eCatch', 'webzip' : 'WebZIP', 'sonique' : 'Sonique (media player)', 'contiki' : 'Contiki', 'pluck' : 'Pluck (RSS Reader)', 'webcollage' : 'WebCollage (PDA/Phone browser)', 'netants' : 'NetAnts', 'wget' : 'Wget', 'webexplorer' : 'IBM-WebExplorer', 'sagem' : 'Sagem (PDA/Phone browser)', 'wap' : 'Unknown WAP browser (PDA/Phone browser)', 'nutscrape' : 'Nutscrape', 'svn' : 'Subversion client', 'plagger' : 'Plagger (RSS Reader)', 'hotjava' : 'Sun HotJava', 'gstreamer' : 'GStreamer (media library)', 'aiderss' : 'AideRSS (RSS Reader)', 'opera' : 'Opera', 'dreamcast' : 'Dreamcast', 'analogx_proxy' : 'AnalogX Proxy', 'webcapture' : 'Acrobat Webcapture', 'doris' : 'Doris (for Symbian)', 'flashget' : 'FlashGet', 'downloadagent' : 'DownloadAgent', 'portalmmm' : 'I-Mode phone (PDA/Phone browser)', 'songbird' : 'Songbird', 'firebird' : 'Firebird (Old Firefox)', 'newsgator' : 'NewsGator (RSS Reader)', 'javaws' : 'Java Web Start', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav' : 'Microsoft Data Access Component Internet Publishing Provider DAV', 'iceweasel' : 'Iceweasel', 'uplayer' : 'Ultra Player (media player)', 'getright' : 'GetRight', 'chrome' : 'Google Chrome', 'ipcheck' : 'Supervision IP Check (phone)', 'xmms' : 'XMMS (media player)', 'akregator' : 'Akregator (RSS Reader)', 'w3m' : 'w3m', 'cyndicate' : 'Cyndicate (RSS Reader)', 'nsplayer' : 'NetShow Player (media player)', 'mplayer' : 'The Movie Player (media player)', 'elinks' : 'ELinks', 'mmef' : 'Microsoft Mobile Explorer (PDA/Phone browser)', 'greatnews' : 'GreatNews (RSS Reader)', 'go!zilla' : 'Go!Zilla', 'jigsaw' : 'W3C Validator', 'minefield' : 'Minefield (Firefox 3.0 development)', 'icab' : 'iCab', 'ossproxy' : 'OSSProxy', 'shiira' : 'Shiira', 'rssxpress' : 'RSSXpress (RSS Reader)', 'webmirror' : 'WebMirror', 'gregarius' : 'Gregarius (RSS Reader)', 'syndirella' : 'Syndirella (RSS Reader)', 'libwww' : 'LibWWW', 'icecat' : 'GNU IceCat', 'epiphany' : 'Epiphany', 'xchaos_arachne' : 'Arachne', 'flock' : 'Flock', 'k\-ninja' : 'K-Ninja', 'cnf2' : 'Supervision I-Mode ByTel (phone)', 'leechget' : 'LeechGet', 'webfetcher' : 'WebFetcher', 'sharpreader' : 'SharpReader (RSS Reader)', 'strata' : 'Strata', 'ncsa_mosaic' : 'NCSA Mosaic', 'lwp' : 'LibWWW-perl', 'fget' : 'FGet', 'webreaper' : 'WebReaper', 'philips' : 'Philips Browser (PDA/Phone browser)', 'intergo' : 'InterGO', 'fdm' : 'FDM Free Download Manager', 'newsfire' : 'NewsFire (RSS Reader)', 'donzilla' : 'Donzilla', 'cyberdog' : 'Cyberdog', 'w3clinemode' : 'W3CLineMode', 'aweb' : 'AWeb', 'rss\sxpress' : 'RSS Xpress (RSS Reader)', 'netscape' : 'Netscape', 'firefox' : 'Firefox', 'vienna' : 'Vienna (RSS Reader)', 'curl' : 'Curl', 'lg\-' : 'LG (PDA/Phone browser)', 'liferea' : 'Liferea (RSS Reader)', 'rssreader' : 'RssReader (RSS Reader)', 'quicktime' : 'QuickTime (media player)', 'rssowl' : 'RSSOwl (RSS Reader)', 'potu' : 'Potu (RSS Reader)', 'real' : 'Real player or compatible (media player)', 'kazehakase' : 'Kazehakase', 'amigavoyager' : 'AmigaVoyager', 'nikto' : 'Nikto Web Scanner', 'samsung' : 'Samsung (PDA/Phone browser)', 'camino' : 'Camino', 'headdump' : 'HeadDump', 'mpg123' : 'mpg123 (media player)', 'ibrowse' : 'iBrowse', 'httrack' : 'HTTrack', 'betanews_reader' : 'Betanews Reader (RSS Reader)', 'multizilla' : 'MultiZilla', 'csscheck' : 'WDG CSS Validator', 'chilkat' : 'Chilkat', 'gnome\-vfs' : 'Gnome FileSystem Abstraction library', 'qnx\svoyager' : 'QNX Voyager', 'xine' : 'Xine, a free multimedia player (media player)', 'wapsilon' : 'WAPsilon (PDA/Phone browser)', 'omniweb' : 'OmniWeb', 'qts' : 'QuickTime (media player)', 'iphone' : 'IPhone (PDA/Phone browser)', 'download\smaster' : 'Download Master', 'chimera' : 'Chimera (Old Camino)', 'WebSec' : 'Web Secretary', 'viking' : 'Viking', 'links' : 'Links', 'galeon' : 'Galeon', 'aol\-iweng' : 'AOL-Iweng', 'neon' : 'Neon HTTP and WebDAV client library', 'blackberry' : 'BlackBerry (PDA/Phone browser)', 'POE\-Component\-Client\-HTTP' : 'HTTP user-agent for POE (portable networking framework for Perl)', 'emailsiphon' : 'EmailSiphon', 'pulpfiction' : 'PulpFiction (RSS Reader)', 'panasonic' : 'Panasonic Browser (PDA/Phone browser)', 'msie' : 'MS Internet Explorer', 'encompass' : 'Encompass', 'tzgeturl' : 'TzGetURL', 'up\.' : 'UP.Browser (PDA/Phone browser)', 'safari' : 'Safari', 'vodafone' : 'Vodaphone browser (PDA/Phone browser)', 'smallproxy' : 'SmallProxy', 'webdownloader\sfor\sx' : 'Downloader for X', 'cloudflare' : 'CloudFlare', 'freeamp' : 'FreeAmp (media player)', 'applesyndication' : 'AppleSyndication (RSS Reader)', 'teleport' : 'TelePort Pro', 'abrowse' : 'ABrowse', 'mot\-' : 'Motorola Browser (PDA/Phone browser)', 'granparadiso' : 'GranParadiso (Firefox 3.0 development)', 'pubsub\-rss\-reader' : 'PubSub (RSS Reader)'} + +browsers_icons = {'staroffice' : 'staroffice', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\scache\smanager' : 'frontpage', 'seamonkey' : 'seamonkey', 'abilon' : 'abilon', 'adobeair' : 'adobe', 'microsoft\-webdav\-miniredir' : 'frontpage', 'mspie' : 'pdaphone', 'avantbrowser' : 'avant', 'shrook' : 'rss', 'prism' : 'mozilla', 'apt' : 'apt', 'mint_audio' : 'mediaplayer', 'msfrontpageexpress' : 'fpexpress', 'newzcrawler' : 'rss', 'wap' : 'pdaphone', 'svn' : 'subversion', 'winamp' : 'mediaplayer', 'docomo' : 'pdaphone', 'webtv' : 'webtv', 'ecatch' : 'ecatch', 'freshdownload' : 'freshdownload', 'webzip' : 'webzip', 'sonique' : 'mediaplayer', 'blogbridge' : 'rss', 'fresco' : 'fresco', 'wizz\srss\snews\sreader' : 'wizz', 'sagem' : 'pdaphone', 'pluck' : 'rss', 'webcollage' : 'pdaphone', 'flashget' : 'flashget', 'analogx_proxy' : 'analogx', 'webcapture' : 'adobe', 'doris' : 'doris', 'javaws' : 'java', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sdav' : 'frontpage', 'portalmmm' : 'pdaphone', 'songbird' : 'mozilla', 'newsgator' : 'rss', 'firebird' : 'phoenix', 'hotjava' : 'hotjava', 'aiderss' : 'rss', 'plagger' : 'rss', 'dreamcast' : 'dreamcast', 'microsoft\soffice\sprotocol\sdiscovery' : 'frontpage', 'opera' : 'opera', 'nsplayer' : 'netshow', 'mmef' : 'pdaphone', 'greatnews' : 'rss', 'mplayer' : 'mediaplayer', 'getright' : 'getright', 'chrome' : 'chrome', 'uplayer' : 'mediaplayer', 'iceweasel' : 'iceweasel', 'akregator' : 'rss', 'microsoft\sdata\saccess\sinternet\spublishing\sprovider\sprotocol\sdiscovery' : 'frontpage', 'xmms' : 'mediaplayer', 'hatena_rss' : 'rss', 'feeddemon' : 'rss', 'microsoft\soffice\sexistence\sdiscovery' : 'frontpage', 'sonyericsson' : 'pdaphone', 'straw' : 'rss', 'bpftp' : 'bpftp', 'macweb' : 'macweb', 'webcopier' : 'webcopier', 'gnus' : 'gnus', 'nokia' : 'pdaphone', 'feedtools' : 'rss', 'xbox' : 'winxbox', 'iceape' : 'mozilla', 'lotus\-notes' : 'lotusnotes', 'sie\-' : 'pdaphone', 'konqueror' : 'konqueror', 'netnewswire' : 'rss', 'k\-meleon' : 'kmeleon', 'alcatel' : 'pdaphone', 'amaya' : 'amaya', 'sage' : 'rss', 'windows\-media\-player' : 'mplayer', 'netpositive' : 'netpositive', 'jetbrains_omea' : 'rss', 'jetaudio' : 'mediaplayer', 'xaudio' : 'mediaplayer', 'android' : 'android', 'sylera' : 'mozilla', 'sec\-' : 'pdaphone', 'audion' : 'mediaplayer', 'lynx' : 'lynx', 'aggrevator' : 'rss', 'cjb\.net' : 'cjbnet', 'rssbandit' : 'rss', 'wapalizer' : 'pdaphone', 'dillo' : 'dillo', 'itunes' : 'mediaplayer', 'feedreader' : 'rss', 'bonecho' : 'firefox', 'mozilla' : 'mozilla', 'ericsson' : 'pdaphone', 'phoenix' : 'phoenix', 'grabber' : 'grabber', 'ibrowse' : 'ibrowse', 'httrack' : 'httrack', 'mpg123' : 'mediaplayer', 'multizilla' : 'multizilla', 'betanews_reader' : 'rss', 'samsung' : 'pdaphone', 'camino' : 'chimera', 'chimera' : 'chimera', 'iphone' : 'pdaphone', 'galeon' : 'galeon', 'gnome\-vfs' : 'gnome', 'omniweb' : 'omniweb', 'qts' : 'mediaplayer', 'xine' : 'mediaplayer', 'wapsilon' : 'pdaphone', 'msie' : 'msie', 'encompass' : 'encompass', 'panasonic' : 'pdaphone', 'up\.' : 'pdaphone', 'pulpfiction' : 'rss', 'neon' : 'neon', 'blackberry' : 'pdaphone', 'teleport' : 'teleport', 'mot\-' : 'pdaphone', 'granparadiso' : 'firefox', 'freeamp' : 'mediaplayer', 'applesyndication' : 'rss', 'pubsub\-rss\-reader' : 'rss', 'safari' : 'safari', 'vodafone' : 'pdaphone', 'rssxpress' : 'rss', 'gregarius' : 'rss', 'minefield' : 'firefox', 'go!zilla' : 'gozilla', 'icab' : 'icab', 'flock' : 'flock', 'leechget' : 'leechget', 'syndirella' : 'rss', 'icecat' : 'icecat', 'epiphany' : 'epiphany', 'donzilla' : 'mozilla', 'philips' : 'pdaphone', 'webreaper' : 'webreaper', 'newsfire' : 'rss', 'sharpreader' : 'rss', 'strata' : 'mozilla', 'ncsa_mosaic' : 'ncsa_mosaic', 'rssreader' : 'rss', 'rssowl' : 'rss', 'potu' : 'rss', 'vienna' : 'rss', 'lg\-' : 'pdaphone', 'liferea' : 'rss', 'kazehakase' : 'mozilla', 'amigavoyager' : 'amigavoyager', 'real' : 'real', 'aweb' : 'aweb', 'cyberdog' : 'cyberdog', 'netscape' : 'netscape', 'firefox' : 'firefox', 'rss\sxpress' : 'rss'} diff --git a/conf.py b/conf.py index e26b953..e06aa5b 100644 --- a/conf.py +++ b/conf.py @@ -1,7 +1,6 @@ -# -*- coding: utf-8 -*- # Web server log -analyzed_filename = 'access.log' +analyzed_filename = '/var/log/apache2/access.log.1,/var/log/apache2/access.log' # Domain name to analyze domain_name = 'soutade.fr' @@ -11,24 +10,28 @@ display_visitor_ip = True # Hooks used pre_analysis_hooks = ['page_to_hit', 'robots'] -post_analysis_hooks = ['referers', 'top_pages', 'top_downloads', 'top_hits']#, 'reverse_dns'] -display_hooks = ['top_visitors', 'all_visits', 'referers', 'top_pages', 'top_downloads', 'top_hits'] +post_analysis_hooks = ['referers', 'top_pages', 'top_downloads', 'operating_systems', 'browsers', 'feeds', 'hours_stats', 'reverse_dns'] +display_hooks = ['track_users', 'top_visitors', 'all_visits', 'referers', 'top_pages', 'top_downloads', 'referers_diff', 'operating_systems', 'browsers', 'feeds', 'hours_stats', 'top_downloads_diff'] # Reverse DNS timeout reverse_dns_timeout = 0.2 # Count this addresses as hit page_to_hit_conf = [r'^.+/logo[/]?$'] -## Count this addresses as page -hit_to_page_conf = [r'^.+/category/.+$', r'^.+/tag/.+$', r'^.+/archive/.+$', r'^.+/ljdc[/]?$'] +# Count this addresses as page +hit_to_page_conf = [r'^.+/category/.+$', r'^.+/tag/.+$', r'^.+/archive/.+$', r'^.+/ljdc[/]?$', r'^.+/source/tree/.*$', r'^.+/source/file/.*$', r'^.+/search/.+$'] # Because it's too long to build HTML when there is too much entries max_hits_displayed = 100 max_downloads_displayed = 100 -# Compress these files after generation -compress_output_files = ['html', 'css', 'js'] +compress_output_files = ['html', 'css', 'js', 'xml'] -# Display result in French -locale = 'fr' +#locale = 'fr' +# Tracked IP +tracked_ip = ['192.168.1.1'] + +feeds = [r'^.*/atom.xml$', r'^.*/rss.xml$'] + +multimedia_file_append = ['xml'] diff --git a/display.py b/display.py index cb98693..6be75df 100644 --- a/display.py +++ b/display.py @@ -52,6 +52,9 @@ class DisplayHTMLRaw(object): self._buildHTML() self._build(f, self.html) + def getTitle(self): + return '' + class DisplayHTMLBlock(DisplayHTMLRaw): def __init__(self, iwla, title=''): @@ -99,6 +102,21 @@ class DisplayHTMLBlockTable(DisplayHTMLBlock): self.rows.append(listToStr(row)) self.rows_cssclasses.append([u''] * len(row)) + def insertCol(self, col_number, col_title='', col_css_class=''): + self.cols.insert(col_number, col_title) + for r in self.rows: + r.insert(col_number, u'') + for r in self.rows_cssclasses: + v = r[0] + # If all cells have the same CSS class, set it + for cur_value in r: + if v != cur_value: + v = None + break + v = v or u'' + r.insert(col_number, v) + self.cols_cssclasses.insert(col_number, col_css_class) + def getNbRows(self): return len(self.rows) @@ -157,6 +175,20 @@ class DisplayHTMLBlockTable(DisplayHTMLBlock): self.cols_cssclasses = listToStr(values) + def computeRatio(self, column, column_insertion=None): + if column_insertion is None: + column_insertion = column+1 + + total = 0 + for r in self.rows: + if r[column]: + total += int(r[column]) + + self.insertCol(column_insertion, self.iwla._('Ratio'), u'iwla_hit') + for (index, r) in enumerate(self.rows): + val = r[column] and int(r[column]) or 0 + self.setCellValue(index, column_insertion, '%.1f%%' % (float(val*100)/float(total))) + def _buildHTML(self): style = u'' if self.table_css: style = u' class="%s"' % (self.table_css) @@ -226,7 +258,7 @@ class DisplayHTMLBlockTableWithGraph(DisplayHTMLBlockTable): elif style.startswith(u'iwla_visit'): icon = u'vv.png' else: return '' - return u'/%s/%s' % (self.icon_path, icon) + return u'/%s/other/%s' % (self.icon_path, icon) def _buildHTML(self): self._computeMax() @@ -287,7 +319,7 @@ class DisplayHTMLPage(object): def appendBlock(self, block): self.blocks.append(block) - def build(self, root): + def build(self, root, displayVersion=True): filename = os.path.join(root, self.filename) base = os.path.dirname(filename) @@ -305,11 +337,12 @@ class DisplayHTMLPage(object): f.write(u'' % (css)) if self.title: f.write(u'