-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgetLast10MinutesTweets.py
34 lines (24 loc) · 10.8 KB
/
getLast10MinutesTweets.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pymongo
import datetime
from pymongo import MongoClient
client = MongoClient('localhost',27017)
db = client['disaster']
Tweets = db['Tweets']
overViewAverage = db['overViewAverage']
count = {'ablaze':0,'accident':0,'aftershock':0,'airplane accident':0,'ambulance':0,'annihilated':0,'annihilation':0,'apocalypse':0,'armageddon':0,'army':0,'arson':0,'arsonist':0,'attack':0,'attacked':0,'avalanche':0,'battle':0,'bioterror':0,'bioterrorism':0,'blaze':0,'blazing':0,'bleeding':0,'blew up':0,'blight':0,'blizzard':0,'blood':0,'bloody':0,'blown up':0,'body bag':0,'body bagging':0,'body bags':0,'bomb':0,'bombed':0,'bombing':0,'bridge collapse':0,'buildings burning':0,'buildings on fire':0,'burned':0,'burning':0,'burning buildings':0,'bush fires':0,'casualties':0,'casualty':0,'catastrophe':0,'catastrophic':0,'chemical emergency':0,'cliff fall':0,'collapse':0,'collapsed':0,'collide':0,'collided':0,'collision':0,'crash':0,'crashed':0,'crush':0,'crushed':0,'curfew':0,'cyclone':0,'damage':0,'danger':0,'dead':0,'death':0,'deaths':0,'debris':0,'deluge':0,'deluged':0,'demolish':0,'demolished':0,'demolition':0,'derail':0,'derailed':0,'derailment':0,'desolate':0,'desolation':0,'destroy':0,'destroyed':0,'destruction':0,'detonate':0,'detonation':0,'devastated':0,'devastation':0,'disaster':0,'displaced':0,'drought':0,'drown':0,'drowned':0,'drowning':0,'dust storm':0,'earthquake':0,'electrocute':0,'electrocuted':0,'emergency':0,'emergency plan':0,'emergency services':0,'engulfed':0,'epicentre':0,'evacuate':0,'evacuated':0,'evacuation':0,'explode':0,'exploded':0,'explosion':0,'eyewitness':0,'famine':0,'fatal':0,'fatalities':0,'fatality':0,'fear':0,'fire':0,'fire truck':0,'first responders':0,'flames':0,'flattened':0,'flood':0,'flooding':0,'floods':0,'forest fire':0,'forest fires':0,'hail':0,'hailstorm':0,'harm':0,'hazard':0,'hazardous':0,'heat wave':0,'hellfire':0,'hijack':0,'hijacker':0,'hijacking':0,'hostage':0,'hostages':0,'hurricane':0,'injured':0,'injuries':0,'injury':0,'inundated':0,'inundation':0,'keyword':0,'landslide':0,'lava':0,'lightning':0,'loud bang':0,'mass murder':0,'mass murderer':0,'massacre':0,'mayhem':0,'meltdown':0,'military':0,'mudslide':0,'natural disaster':0,'nuclear disaster':0,'nuclear reactor':0,'obliterate':0,'obliterated':0,'obliteration':0,'oil spill':0,'outbreak':0,'pandemonium':0,'panic':0,'panicking':0,'police':0,'quarantine':0,'quarantined':0,'radiation emergency':0,'rainstorm':0,'razed':0,'refugees':0,'rescue':0,'rescued':0,'rescuers':0,'riot':0,'rioting':0,'rubble':0,'ruin':0,'sandstorm':0,'screamed':0,'screaming':0,'screams':0,'seismic':0,'sinkhole':0,'sinking':0,'siren':0,'sirens':0,'smoke':0,'snowstorm':0,'storm':0,'stretcher':0,'structural failure':0,'suicide bomb':0,'suicide bomber':0,'suicide bombing':0,'sunk':0,'survive':0,'survived':0,'survivors':0,'terrorism':0,'terrorist':0,'threat':0,'thunder':0,'thunderstorm':0,'tornado':0,'tragedy':0,'trapped':0,'trauma':0,'traumatised':0,'trouble':0,'tsunami':0,'twister':0,'typhoon':0,'upheaval':0,'violent storm':0,'volcano':0,'war zone':0,'weapon':0,'weapons':0,'whirlwind':0,'wild fires':0,'wildfire':0,'windstorm':0,'wounded':0,'wounds':0,'wreck':0,'wreckage':0,'wrecked':0}
dateNow = datetime.datetime.utcnow()
differenceOf10Minutes = datetime.timedelta(minutes=10)
neededValueLast10Minutes = dateNow - differenceOf10Minutes
last10MinutesData=Tweets.find({"created_at" : { '$gte' : neededValueLast10Minutes }})
for content in last10MinutesData:
for issue in count.keys():
if issue in content['text']:
count[issue] += 1
overView = db['Overview']
result = db.overView.insert_one({"date": dateNow , "count": count} )
def getAboveAverage(date,count):
countAverage={'desolate': 1.6028189374774124, 'bomb': 472.761474521142, 'violent storm': 0.054571738344777736, 'hijacker': 39.79797614745211, 'weapons': 80.73870617997832, 'destroyed': 125.8753162269606, 'bombed': 15.134080231297434, 'damage': 129.8041199855439, 'sunk': 9.59522949042284, 'avalanche': 6.540296349837369, 'debris': 18.18756776292013, 'fatalities': 4.982291290206, 'body bag': 2.335019877123238, 'battle': 333.959884351283, 'fear': 452.1951572099747, 'injuries': 58.809902421395016, 'bombing': 72.81604625948681, 'structural failure': 0.02855077701481749, 'death': 860.8171304662089, 'police': 633.7723165883629, 'burning': 115.73653776653416, 'forest fire': 2.892663534513914, 'flood': 94.92157571376943, 'ruin': 221.2258764004337, 'exploded': 19.298518250813157, 'dust storm': 1.123599566317311, 'survivors': 33.08782074448862, 'buildings burning': 0.011203469461510662, 'blaze': 36.93133357426816, 'engulfed': 3.4011564871702205, 'fatal': 85.18829056740152, 'airplane accident': 0.007589447054571739, 'sinking': 29.837368991687747, 'electrocute': 5.390314419949403, 'crash': 289.5930610769787, 'rescue': 171.66967835200577, 'emergency': 103.49512106975064, 'hostage': 24.710516805204193, 'devastated': 20.033971810625225, 'massacre': 39.66642573183954, 'collide': 22.625948680881823, 'forest fires': 1.1492591254065776, 'traumatised': 2.588001445608963, 'hellfire': 1.848933863389953, 'trouble': 290.86772677990604, 'screaming': 175.6570292735815, 'curfew': 7.828695337911095, 'suicide bomb': 40.86302855077702, 'mudslide': 0.3433321286591977, 'annihilated': 1.8832670762558728, 'arsonist': 2.3903144199494037, 'derail': 13.368268883267076, 'nuclear reactor': 1.0589085652331045, 'floods': 13.599204915070473, 'quarantine': 1.754607878568847, 'loud bang': 0.40549331405854716, 'blazing': 10.108782074448861, 'detonation': 1.563426093241778, 'explode': 74.19045898084568, 'tsunami': 27.37152150343332, 'burning buildings': 0.08239971087820744, 'displaced': 12.630646910010842, 'body bagging': 0.00795084929526563, 'volcano': 23.635706541380557, 'hijack': 82.48211058908565, 'refugees': 141.3006866642573, 'snowstorm': 3.248283339356704, 'whirlwind': 3.698590531261294, 'harm': 112.35128297795447, 'obliterate': 4.1391398626671485, 'disaster': 102.94325984821106, 'bleeding': 38.25912540657752, 'catastrophic': 5.655583664618721, 'dead': 1295.4148897723167, 'famine': 6.1485363209251895, 'ablaze': 5.393567040115649, 'armageddon': 0.9815684857246115, 'cliff fall': 0.05710155402963498, 'outbreak': 15.14022406938923, 'wreck': 67.13552584026021, 'wild fires': 0.13913986266714853, 'wrecked': 15.194795807734009, 'hurricane': 16.079508492952655, 'crush': 779.9880737260571, 'trauma': 55.5561980484279, 'evacuation': 5.208529092880376, 'cyclone': 3.983375496928081, 'burned': 89.26020961329961, 'sirens': 14.519696422117818, 'explosion': 57.79616913624864, 'screams': 46.22659920491507, 'rescuers': 2.5786049873509214, 'epicentre': 1.046982291290206, 'nuclear disaster': 0.5619804842790025, 'hostages': 7.660643295988435, 'obliteration': 0.26526924466931695, 'earthquake': 97.14419949403687, 'suicide bomber': 24.697506324539212, 'drowning': 41.238164076617274, 'accident': 236.94362125045174, 'derailed': 3.291651608239971, 'chemical emergency': 0.0007228044813877846, 'detonate': 4.058185760751717, 'mass murderer': 2.026743765811348, 'bridge collapse': 8.976870256595591, 'threat': 206.31080592699675, 'military': 207.0050596313697, 'derailment': 3.023491145645103, 'blood': 531.6165522226238, 'stretcher': 2.875316226960607, 'fatality': 3.5186122153957355, 'blizzard': 16.91181785327069, 'danger': 107.86881098662812, 'obliterated': 2.1228767618359234, 'bloody': 112.79797614745212, 'screamed': 32.26743765811348, 'panicking': 10.98698951933502, 'drowned': 18.601734730755332, 'fire truck': 2.698590531261294, 'drought': 56.5327069027828, 'eyewitness': 2.2425009035056016, 'wildfire': 11.322009396458258, 'devastation': 5.622334658474882, 'bush fires': 0.04662088904951211, 'army': 209.59486808818215, 'emergency services': 2.9414528370075894, 'heat wave': 2.1131189013371885, 'collided': 4.201662450307192, 'emergency plan': 0.6461872063606794, 'tragedy': 90.27647271413083, 'attack': 785.8149620527647, 'storm': 249.83014094687388, 'razed': 2.560896277556921, 'survive': 202.07191904589808, 'injury': 119.17347307553307, 'evacuated': 13.307191904589809, 'natural disaster': 2.215034333212866, 'collapse': 102.22334658474882, 'riot': 70.8283339356704, 'attacked': 116.55222262378027, 'fire': 823.7119624141669, 'rioting': 3.090350560173473, 'collapsed': 18.352367184676545, 'oil spill': 3.000361402240694, 'evacuate': 17.573906758221902, 'quarantined': 0.5074087459342248, 'drown': 119.41922659920492, 'typhoon': 1.9382002168413444, 'hail': 78.27466570292736, 'survived': 59.24611492591254, 'first responders': 4.419949403686303, 'casualties': 9.749909649439827, 'mass murder': 6.305023491145645, 'demolish': 19.138417058185762, 'twister': 6.085290928803759, 'flames': 41.47741235995663, 'keyword': 13.874232020238525, 'collision': 24.22443079147091, 'radiation emergency': 0.0021684134441633538, 'pandemonium': 0.8348391760028913, 'sandstorm': 3.9309721720274666, 'electrocuted': 4.848211058908565, 'lightning': 43.64401879291652, 'flooding': 20.043006866642575, 'rescued': 53.81893747741236, 'inundation': 0.11998554391037225, 'deaths': 62.50668594145284, 'rubble': 4.886881098662812, 'mayhem': 8.474159739790387, 'rainstorm': 2.003252620166245, 'bioterror': 0.16660643295988434, 'meltdown': 22.641850379472352, 'demolition': 11.837368991687748, 'blew up': 11.635706541380557, 'hijacking': 17.784242862305746, 'body bags': 0.4279002529815685, 'siren': 25.59233827249729, 'terrorist': 201.03903144199495, 'upheaval': 0.9230213227322009, 'inundated': 1.6002891217925552, 'trapped': 58.503794723527285, 'blown up': 7.39465124683773, 'lava': 60.66642573183954, 'war zone': 16.807372605710157, 'demolished': 11.545355981207084, 'casualty': 7.122876761835923, 'bioterrorism': 0.08059269967473798, 'blight': 2.1991326346223348, 'destroy': 319.7365377665341, 'terrorism': 157.5092157571377, 'panic': 92.74195880014456, 'hazardous': 4.100469822912902, 'injured': 169.86194434405493, 'annihilation': 1.8839898807372606, 'deluged': 0.18576075171666065, 'windstorm': 0.35381279363932056, 'smoke': 321.6219732562342, 'tornado': 37.645102999638596, 'desolation': 0.8507408745934225, 'thunderstorm': 13.843512829779545, 'hazard': 17.024575352367183, 'crushed': 41.28080954101915, 'crashed': 45.48030357788218, 'flattened': 1.5572822551499819, 'wounds': 35.824358511022766, 'wounded': 46.81134803035779, 'thunder': 72.04409107336465, 'seismic': 2.2255149981929887, 'landslide': 15.835200578243585, 'catastrophe': 11.822190097578606, 'destruction': 50.96169136248645, 'apocalypse': 42.74737983375497, 'arson': 20.840260209613298, 'weapon': 153.243223707987, 'deluge': 1.6573906758221901, 'sinkhole': 8.242862305746296, 'aftershock': 1.3039392844235633, 'suicide bombing': 11.402602096132997, 'ambulance': 26.429345861944345, 'hailstorm': 2.3212865919768704, 'wreckage': 3.2659920491507046, 'buildings on fire': 0.035417419588001445}
noOfTimesTheAverage={x:float(count[x])/countAverage[x] for x in countAverage}
return {'date': date , 'average': noOfTimesTheAverage}
getAbvAverage=getAboveAverage(dateNow,count)
db.overViewAverage.insert_one(getAbvAverage)