In [4]:
from collections import Counter, OrderedDict, defaultdict
from dateutil.parser import parse
import random

import matplotlib.pyplot as plt
import numpy as np
import pandas
import snap

import loader
import tweet_util

In [6]:
# loading the honeypot data takes a minute or three. 
michigan_tweets = loader.load_michigan_tweets() # a list of dictionaries
print("Loaded Michigan tweets.")
poltical_general_tweets, political_keyword_tweets = loader.load_political_tweets() # dataframes
print("Loaded Political tweets.")


Loaded Michigan tweets.
Loaded Political tweets.

In [7]:
unretrieved_michigan_tweet_ids = loader.load_michigan_unretreived_tweet_ids()
print(len(unretrieved_michigan_tweet_ids))
print(len(michigan_tweets))
print(len(michigan_tweets) + len(unretrieved_michigan_tweet_ids)) # to-do: figure out why this is 142,281 tweets instead of the expected 142,249 tweets


79004
63277
142281

In [26]:
def get_username(tweet):
    return tweet['user']['screen_name']
def get_followers_count(tweet):
    return tweet['user']['followers_count']
def get_user_description(tweet):
    return tweet['user']['description']
def get_content(tweet):
    return tweet['text']

In [38]:
sample_tweet = michigan_tweets[3566]
print get_username(sample_tweet)
print get_content(sample_tweet)
print tweet_util.get_user_id(sample_tweet)
print get_user_description(sample_tweet)


FramingNebula
RT @mcspocky: Reminder: Donald Trump due in court after Election Day on child rape and racketeering charges https://t.co/Pl5nUo0GC8
#ctl #p…
292725094
Disabled with Multiple Sclerosis musician living in the wrong place to fulfill the music in me. I have no vehicle to get where I should be.

In [125]:
sample_tweet = michigan_tweets[3]
print tweet_util.get_user_id(sample_tweet)
print tweet_util.get_derived_user_id(sample_tweet)
print tweet_util.get_mentioned_ids(sample_tweet)
print tweet_util.get_replied_to_id(sample_tweet)
print tweet_util.get_hashtags(sample_tweet)


1385043074
620571475
[620571475]
None
[u'Periscope', u'TrumpPence16', u'MAGA']

In [124]:
print michigan_tweets[3]


{u'contributors': None, u'truncated': False, u'text': u'RT @DanScavino: LIVE on #Periscope: THANK YOU MICHIGAN! Get out and VOTE #TrumpPence16! #MAGA https://t.co/qSaxXxOFeF', u'is_quote_status': False, u'in_reply_to_status_id': None, u'id': 793269090794082304L, u'favorite_count': 0, u'source': u'<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>', u'retweeted': False, u'coordinates': None, u'entities': {u'symbols': [], u'user_mentions': [{u'id': 620571475, u'indices': [3, 14], u'id_str': u'620571475', u'screen_name': u'DanScavino', u'name': u'Dan Scavino Jr.'}], u'hashtags': [{u'indices': [24, 34], u'text': u'Periscope'}, {u'indices': [73, 86], u'text': u'TrumpPence16'}, {u'indices': [88, 93], u'text': u'MAGA'}], u'urls': [{u'url': u'https://t.co/qSaxXxOFeF', u'indices': [94, 117], u'expanded_url': u'https://www.pscp.tv/w/auZxrzEzNTg4Mzh8MU1uR25YbkVYZ0x4TyGPZ3Dkibmljn6_427J1IxJzu5hBQbz7ndvQqhXxn6u', u'display_url': u'pscp.tv/w/auZxrzEzNTg4\u2026'}]}, u'in_reply_to_screen_name': None, u'in_reply_to_user_id': None, u'retweet_count': 1623, u'id_str': u'793269090794082304', u'favorited': False, u'retweeted_status': {u'contributors': None, u'truncated': False, u'text': u'LIVE on #Periscope: THANK YOU MICHIGAN! Get out and VOTE #TrumpPence16! #MAGA https://t.co/qSaxXxOFeF', u'is_quote_status': False, u'in_reply_to_status_id': None, u'id': 793224694614728705L, u'favorite_count': 3043, u'source': u'<a href="https://periscope.tv" rel="nofollow">Periscope</a>', u'retweeted': False, u'coordinates': None, u'entities': {u'symbols': [], u'user_mentions': [], u'hashtags': [{u'indices': [8, 18], u'text': u'Periscope'}, {u'indices': [57, 70], u'text': u'TrumpPence16'}, {u'indices': [72, 77], u'text': u'MAGA'}], u'urls': [{u'url': u'https://t.co/qSaxXxOFeF', u'indices': [78, 101], u'expanded_url': u'https://www.pscp.tv/w/auZxrzEzNTg4Mzh8MU1uR25YbkVYZ0x4TyGPZ3Dkibmljn6_427J1IxJzu5hBQbz7ndvQqhXxn6u', u'display_url': u'pscp.tv/w/auZxrzEzNTg4\u2026'}]}, u'in_reply_to_screen_name': None, u'in_reply_to_user_id': None, u'retweet_count': 1623, u'id_str': u'793224694614728705', u'favorited': False, u'user': {u'follow_request_sent': None, u'has_extended_profile': False, u'profile_use_background_image': True, u'default_profile_image': False, u'id': 620571475, u'profile_background_image_url_https': u'https://pbs.twimg.com/profile_background_images/627165912412626944/ycCg68Qq.jpg', u'verified': True, u'translator_type': u'none', u'profile_text_color': u'000000', u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/921218934589734917/vCB2C4Ks_normal.jpg', u'profile_sidebar_fill_color': u'000000', u'entities': {u'description': {u'urls': []}}, u'followers_count': 442803, u'profile_sidebar_border_color': u'000000', u'id_str': u'620571475', u'profile_background_color': u'131516', u'listed_count': 3274, u'is_translation_enabled': False, u'utc_offset': -14400, u'statuses_count': 10438, u'description': u'Personal Twitter handle. #USA\U0001f1fa\U0001f1f8', u'friends_count': 236, u'location': u'', u'profile_link_color': u'1B95E0', u'profile_image_url': u'http://pbs.twimg.com/profile_images/921218934589734917/vCB2C4Ks_normal.jpg', u'following': None, u'geo_enabled': True, u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/620571475/1506293215', u'profile_background_image_url': u'http://pbs.twimg.com/profile_background_images/627165912412626944/ycCg68Qq.jpg', u'screen_name': u'DanScavino', u'lang': u'en', u'profile_background_tile': True, u'favourites_count': 3266, u'name': u'Dan Scavino Jr.', u'notifications': None, u'url': None, u'created_at': u'Thu Jun 28 02:45:39 +0000 2012', u'contributors_enabled': False, u'time_zone': u'Eastern Time (US & Canada)', u'protected': False, u'default_profile': False, u'is_translator': False}, u'geo': None, u'in_reply_to_user_id_str': None, u'possibly_sensitive': False, u'lang': u'en', u'created_at': u'Mon Oct 31 22:54:39 +0000 2016', u'in_reply_to_status_id_str': None, u'place': None}, u'user': {u'follow_request_sent': None, u'has_extended_profile': True, u'profile_use_background_image': True, u'default_profile_image': False, u'id': 1385043074, u'profile_background_image_url_https': u'https://abs.twimg.com/images/themes/theme1/bg.png', u'verified': False, u'translator_type': u'none', u'profile_text_color': u'333333', u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/813108299570802693/tLS99vqS_normal.jpg', u'profile_sidebar_fill_color': u'DDEEF6', u'entities': {u'description': {u'urls': []}}, u'followers_count': 172, u'profile_sidebar_border_color': u'C0DEED', u'id_str': u'1385043074', u'profile_background_color': u'C0DEED', u'listed_count': 17, u'is_translation_enabled': False, u'utc_offset': None, u'statuses_count': 7748, u'description': u'Engineer, Certified Personal Trainer, REALTOR, Entrepreneur, fitness model--Life is Eternal if you leave a legacy. D.D.K. #GO BLUE\u303d\ufe0f. #Catholic \u271d\ufe0f', u'friends_count': 250, u'location': u'Michigan, USA', u'profile_link_color': u'1DA1F2', u'profile_image_url': u'http://pbs.twimg.com/profile_images/813108299570802693/tLS99vqS_normal.jpg', u'following': None, u'geo_enabled': False, u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/1385043074/1380177460', u'profile_background_image_url': u'http://abs.twimg.com/images/themes/theme1/bg.png', u'screen_name': u'D_Diesel1982', u'lang': u'en', u'profile_background_tile': False, u'favourites_count': 19702, u'name': u'Danny\U0001f1fa\U0001f1f8', u'notifications': None, u'url': None, u'created_at': u'Sat Apr 27 17:30:29 +0000 2013', u'contributors_enabled': False, u'time_zone': None, u'protected': False, u'default_profile': True, u'is_translator': False}, u'geo': None, u'in_reply_to_user_id_str': None, u'possibly_sensitive': False, u'lang': u'en', u'created_at': u'Tue Nov 01 01:51:04 +0000 2016', u'in_reply_to_status_id_str': None, u'place': None}

In [137]:
def get_mentioned_ids(tweet):
    '''
    returns the list of id of the user that's mentioned in the tweet.
    returns an empty list if there is none
    '''
    ids = []
    for mention in tweet['entities']['user_mentions']:
        ids.append((mention['id'], mention['screen_name']))
    return ids

def get_replied_to_id(tweet):
    '''
    returns the id of the user to whom this tweet is a reply
    returns None if this tweet is not a reply to anything
    '''
    if not 'in_reply_to_user_id' in tweet:
        return None
    return (tweet['in_reply_to_user_id'], tweet['in_reply_to_screen_name'])

def get_derived_user_id(tweet):
    if 'retweeted_status' not in tweet:
        return None
    return (tweet['retweeted_status']['user']['id'], tweet['retweeted_status']['user']['screen_name'])

In [140]:
for i in range(10, 1000):
    sample_tweet = michigan_tweets[i]
    if get_replied_to_id(sample_tweet):
        print tweet_util.get_user_id(sample_tweet), get_username(sample_tweet)
        print get_derived_user_id(sample_tweet)
        print get_mentioned_ids(sample_tweet)
        print get_replied_to_id(sample_tweet)
        print sample_tweet
        break
#     print tweet_util.get_hashtags(sample_tweet)


1915411970 camilafounds
(3079707406L, u'ProjetoooHelp')
[(3079707406L, u'ProjetoooHelp')]
(None, None)
{u'contributors': None, u'truncated': False, u'text': u'RT @ProjetoooHelp: SEU RT \xc9 IMPORTANTE, SEU RT FAZ A DIFEREN\xc7A, CADA RT EQUIVALE A UM VOTO #ARIASONEDIRECTION', u'is_quote_status': False, u'in_reply_to_status_id': None, u'id': 793268278038781952L, u'favorite_count': 0, u'source': u'<a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>', u'retweeted': False, u'coordinates': None, u'entities': {u'symbols': [], u'user_mentions': [{u'id': 3079707406L, u'indices': [3, 17], u'id_str': u'3079707406', u'screen_name': u'ProjetoooHelp', u'name': u'Projeto Help'}], u'hashtags': [{u'indices': [91, 109], u'text': u'ARIASONEDIRECTION'}], u'urls': []}, u'in_reply_to_screen_name': None, u'in_reply_to_user_id': None, u'retweet_count': 451, u'id_str': u'793268278038781952', u'favorited': False, u'retweeted_status': {u'contributors': None, u'truncated': False, u'text': u'SEU RT \xc9 IMPORTANTE, SEU RT FAZ A DIFEREN\xc7A, CADA RT EQUIVALE A UM VOTO #ARIASONEDIRECTION', u'is_quote_status': False, u'in_reply_to_status_id': None, u'id': 793105949644951556L, u'favorite_count': 27, u'source': u'<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>', u'retweeted': False, u'coordinates': None, u'entities': {u'symbols': [], u'user_mentions': [], u'hashtags': [{u'indices': [72, 90], u'text': u'ARIASONEDIRECTION'}], u'urls': []}, u'in_reply_to_screen_name': None, u'in_reply_to_user_id': None, u'retweet_count': 451, u'id_str': u'793105949644951556', u'favorited': False, u'user': {u'follow_request_sent': None, u'has_extended_profile': True, u'profile_use_background_image': False, u'default_profile_image': False, u'id': 3079707406L, u'profile_background_image_url_https': u'https://abs.twimg.com/images/themes/theme1/bg.png', u'verified': False, u'translator_type': u'none', u'profile_text_color': u'000000', u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/917753338384527360/WI1JgF12_normal.jpg', u'profile_sidebar_fill_color': u'000000', u'entities': {u'description': {u'urls': []}}, u'followers_count': 68301, u'profile_sidebar_border_color': u'000000', u'id_str': u'3079707406', u'profile_background_color': u'000000', u'listed_count': 557, u'is_translation_enabled': False, u'utc_offset': -10800, u'statuses_count': 36786, u'description': u'not\xedcias, sorteios e vota\xe7\xf5es di\xe1rias da One Direction \u2022 news, raffles and daily votes of One Direction \u2022 Activate my notifications/ ative minhas notifica\xe7\xf5es', u'friends_count': 8788, u'location': u'Brasil/UK', u'profile_link_color': u'000000', u'profile_image_url': u'http://pbs.twimg.com/profile_images/917753338384527360/WI1JgF12_normal.jpg', u'following': None, u'geo_enabled': True, u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/3079707406/1507644420', u'profile_background_image_url': u'http://abs.twimg.com/images/themes/theme1/bg.png', u'screen_name': u'ProjetoooHelp', u'lang': u'pt', u'profile_background_tile': False, u'favourites_count': 67683, u'name': u'Projeto Help', u'notifications': None, u'url': None, u'created_at': u'Sun Mar 08 16:25:34 +0000 2015', u'contributors_enabled': False, u'time_zone': u'Atlantic Time (Canada)', u'protected': False, u'default_profile': False, u'is_translator': False}, u'geo': None, u'in_reply_to_user_id_str': None, u'lang': u'pt', u'created_at': u'Mon Oct 31 15:02:48 +0000 2016', u'in_reply_to_status_id_str': None, u'place': None}, u'user': {u'follow_request_sent': None, u'has_extended_profile': True, u'profile_use_background_image': True, u'default_profile_image': False, u'id': 1915411970, u'profile_background_image_url_https': u'https://pbs.twimg.com/profile_background_images/713352706790924288/iL4V-Dgc.png', u'verified': False, u'translator_type': u'none', u'profile_text_color': u'000000', u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/917921702021140480/XVMEpp5e_normal.jpg', u'profile_sidebar_fill_color': u'000000', u'entities': {u'url': {u'urls': [{u'url': u'https://t.co/aOsHUIqYfy', u'indices': [0, 23], u'expanded_url': u'https://twitter.com/camilafounds/status/836356610821873664?s=09', u'display_url': u'twitter.com/camilafounds/s\u2026'}]}, u'description': {u'urls': []}}, u'followers_count': 12755, u'profile_sidebar_border_color': u'000000', u'id_str': u'1915411970', u'profile_background_color': u'131516', u'listed_count': 47, u'is_translation_enabled': False, u'utc_offset': -7200, u'statuses_count': 103143, u'description': u'everything comes naturally', u'friends_count': 6183, u'location': u'shawmila follows', u'profile_link_color': u'009999', u'profile_image_url': u'http://pbs.twimg.com/profile_images/917921702021140480/XVMEpp5e_normal.jpg', u'following': None, u'geo_enabled': True, u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/1915411970/1507684703', u'profile_background_image_url': u'http://pbs.twimg.com/profile_background_images/713352706790924288/iL4V-Dgc.png', u'screen_name': u'camilafounds', u'lang': u'pt', u'profile_background_tile': True, u'favourites_count': 32593, u'name': u'camz morningstar', u'notifications': None, u'url': u'https://t.co/aOsHUIqYfy', u'created_at': u'Sat Sep 28 21:38:00 +0000 2013', u'contributors_enabled': False, u'time_zone': u'Mid-Atlantic', u'protected': False, u'default_profile': False, u'is_translator': False}, u'geo': None, u'in_reply_to_user_id_str': None, u'lang': u'pt', u'created_at': u'Tue Nov 01 01:47:50 +0000 2016', u'in_reply_to_status_id_str': None, u'place': None}

In [147]:
def merge_ids(mentioned_ids, replied_id, retweeted_id):
    if not replied_id is None:
        mentioned_ids.append(replied_id)
    if not retweeted_id is None:
        mentioned_ids.append(retweeted_id)
    return mentioned_ids
            
def create_graph_from_tweets(tweets, multi, directed=True): 
    '''
    multi = True if we want to create multi graph 
    multi graph: a graph that allows multi edge
    Undirected graph
    If A mentions B: edge from A -> B
    If A mentions B: edge from A -> B
    If A replies to B: edge from A -> B
    '''
    if multi:
        G = snap.TNEANet.New()
    else:
        if directed:
            G = snap.TNGraph.New()
        else:
            G = snap.TUNGraph.New()
    nodes2names = []
    names2nodes = {} # have to do this because id is long, while snap can only deal with integer
    ids2screennames = {}
#     ids2descriptions = {}
    idx = 0
    for tweet in tweets:
        user_id = tweet_util.get_user_id(tweet)
        screen_name = get_username(tweet)
#         user_description = get_user_description(tweet)
        
        if not user_id in ids2screennames:
            ids2screennames[user_id] = screen_name
#             ids2descriptions[user_id] = user_description
            names2nodes[user_id] = idx
            nodes2names.append(user_id)
            G.AddNode(idx)
            idx += 1
        mentioned_ids = get_mentioned_ids(tweet)
        replied_id = get_replied_to_id(tweet)
        retweeted_id = get_derived_user_id(tweet)
        mentioned_ids = merge_ids(mentioned_ids, replied_id, retweeted_id)
#         mentioned_ids = get_mentioned_ids(tweet)
        for id_, screen_name in mentioned_ids:
            if user_id is None or user_id == id_:
                continue
            if not id_ in ids2screennames:
                ids2screennames[id_] = screen_name
#                 ids2descriptions[id_] = user_description
                names2nodes[id_] = idx
                nodes2names.append(id_)
                G.AddNode(idx)
                idx += 1
#             if names2nodes[user_id] == names2nodes[id_]:
#                 continue
            G.AddEdge(names2nodes[user_id], names2nodes[id_])
    print len(names2nodes), len(nodes2names)
    return G, nodes2names, names2nodes, ids2screennames

In [148]:
'''
There are three different types of graphs:
Gs: directed single graph
Gu: undirected single graph
G: undirected multi-graph (allows multile edges)

We will be using Gu to detect communities because it seems to work best.
We use Gs to find popular users
G is useless.
'''
Gs, nodes2names_s, names2nodes_s, ids2screennames = create_graph_from_tweets(michigan_tweets, multi=False)
print 'single graph directed. number of nodes: %d. number of edges: %d' %(Gs.GetNodes(), Gs.GetEdges())
print 'self edge', snap.CntSelfEdges(Gs)

Gu, nodes2names_u, names2nodes_u, ids2screennames = create_graph_from_tweets(michigan_tweets, multi=False, directed=False)
print 'single graph undirected. number of nodes: %d. number of edges: %d' %(Gu.GetNodes(), Gu.GetEdges())
print 'self edge', snap.CntSelfEdges(Gu)

G, nodes2names, names2nodes, ids2screennames = create_graph_from_tweets(michigan_tweets, multi=True)
print 'multi graph. number of nodes: %d. number of edges: %d' %(G.GetNodes(), G.GetEdges())
print 'self edge', snap.CntSelfEdges(G)


38937 38937
single graph directed. number of nodes: 38937. number of edges: 69646
self edge 0
38937 38937
single graph undirected. number of nodes: 38937. number of edges: 69616
self edge 0
38937 38937
multi graph. number of nodes: 38937. number of edges: 168332
self edge 0

In [40]:
print ids2screennames[292725094]
print ids2descriptions[292725094]


FramingNebula
Disabled with Multiple Sclerosis musician living in the wrong place to fulfill the music in me. I have no vehicle to get where I should be.

In [289]:
def get_unique_hashtags(tweets, names2nodes):
    hashtag2ids = {} # map hashtag to the list of ids that use it
    id2hashtags = {}
    for tweet in tweets:
        user_id = tweet_util.get_user_id(tweet)
        node_id = names2nodes[user_id]
        hashtags = [tag.lower() for tag in tweet_util.get_hashtags(tweet)]
        if not node_id in id2hashtags:
            id2hashtags[node_id] = []
        for hashtag in hashtags:
            id2hashtags[node_id].append(hashtag)
            if not hashtag in hashtag2ids:
                hashtag2ids[hashtag] = []
            hashtag2ids[hashtag].append(node_id)
    return hashtag2ids, id2hashtags

In [291]:
'''
Hashtag analysis.

Interpretation: Trump's supporters are a lot more aggressive. tweeting the same hashtag repeatedly
a lot more times than Clinton's supporters. For example, hashtags like Trump, MAGA are tweeted
repeatedly from the same accounts.

only 19595 out of 38936 nodes are in id2hashtags. 
Which means there are only 19595 users that tweet with hashtag.
''' 
hashtag2ids, id2hashtags = get_unique_hashtags(michigan_tweets, names2nodes)
hashtag_count_rep = {key: len(hashtag2ids[key]) for key in hashtag2ids}
hashtag_count_rep = OrderedDict(sorted(hashtag_count_rep.items(), key=lambda k:k[1], reverse=True))

hashtag_count = {key: len(set(hashtag2ids[key])) for key in hashtag_ids}
hashtag_count = OrderedDict(sorted(hashtag_count.items(), key=lambda k:k[1], reverse=True))

print 'total hashtag: %d' %len(hashtag_count.keys())
print 'number of users with hashtags: %d' %len(id2hashtags)
print '________________________________________________'
print 'hashtag - users tweet it - times tweeted'
for i, tag in enumerate(hashtag_count):
    print tag, hashtag_count[tag], hashtag_count_rep[tag]
    if i >= 30:
        break


total hashtag: 10318
number of users with hashtags: 19595
________________________________________________
hashtag - users tweet it - times tweeted
election2016 3611 5726
imwithher 2256 4945
trump 2209 5994
maga 1468 7325
draintheswamp 966 3510
electionday 951 1399
hillaryclinton 853 1839
hillary 775 2398
makeamericagreatagain 757 1363
electionnight 746 1012
trumppence16 652 1931
trumptrain 651 1793
elections2016 603 701
vote 594 741
nevertrump 533 1211
ivoted 505 568
clinton 498 926
podestaemails 454 1333
trump2016 448 864
neverhillary 444 1212
votetrump 443 1335
crookedhillary 410 910
tcot 387 1170
strongertogether 357 683
electionfinalthoughts 340 544
wikileaks 338 914
maga3x 317 795
americafirst 309 638
lockherup 301 675
imvotingbecause 281 443
michigan 278 491

In [134]:
with open('hillary.tags', 'r') as f:
    pro_hillary = set([tag[:-1].lower() for tag in f.readlines()])
with open('trump.tags', 'r') as f:
    pro_trump = set([tag[:-1].lower() for tag in f.readlines()])

print '%d pro Hillary tweets, %d pro Trump tweets' %(len(pro_hillary), len(pro_trump))


418 pro Hillary tweets, 627 pro Trump tweets

In [30]:
def get_modularity_tag(G, hashtag_ids, tags):
    nodes = snap.TIntV()
    rand = snap.TIntV()
    all_nodes = [n.GetId() for n in G.Nodes()]
    counted_nodes = []
    for tag in tags:
        if tag not in hashtag_ids:
            continue
        counted_nodes = counted_nodes + hashtag_ids[tag]
    for node in set(counted_nodes):
        nodes.Add(node)
    random_nodes = random.sample(all_nodes, len(nodes))
    for node in random_nodes:
        rand.Add(node)
    tag_score = snap.GetModularity(G, nodes, G.GetEdges())
    rand_score = snap.GetModularity(G, rand, G.GetEdges())
    print 'number of nodes:', len(nodes)
    print 'modularity score: %f, compared to %f random' %(tag_score, rand_score)

In [39]:
'''
Modularity scores are negative, which means that overall,
pro Trump users are less likely to interact with each other than just random.
Same for pro Hillary users.

There are 4834 users in the entire graph that tweet pro_Trump hashtags.
There are 4270 users in the entire graph that tweet pro_Trump hashtags.
Out of 19595 users who tweet with hashtags and 38936 total users.
(only 23.4% of total users)
'''
get_modularity_tag(Gu, hashtag_ids, pro_trump)
get_modularity_tag(Gu, hashtag_ids, pro_hillary)


/usr/local/lib/python2.7/site-packages/ipykernel_launcher.py:7: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  import sys
number of nodes: 4834
modularity score: -0.131943, compared to 0.000017 random
number of nodes: 4270
modularity score: -0.122341, compared to -0.000904 random

In [66]:
'''
size of weakly connected components and their corresponding count
e.g. there's 6,209 weakly connected component (wcc) of 1 nodes
and there are 4876 wcc of 2 nodes
'''
CntV = snap.TIntPrV()
snap.GetWccSzCnt(Gs, CntV)
sizes, counts = [], []
print 'size - count'
for item in CntV:
    print item.GetVal1(), item.GetVal2()
    sizes.append(item.GetVal1())
    counts.append(item.GetVal2())

plt.loglog(sizes, counts, color='b')
plt.title('size distribution of weakly connected components')
plt.xlabel('size')
plt.ylabel('number of wcc with that size')
plt.legend(loc=1)
plt.show()


size - count
1 6209
2 4876
3 862
4 240
5 69
6 46
7 33
8 12
9 6
10 8
11 4
12 4
13 1
14 2
15 2
16 1
17 1
18 1
19 1
21 1
28 2
18037 1

In [55]:
def getBFS(graph, node_id, direction='in'):
	assert direction == 'in' or direction == 'out'
	if direction == 'out':
		bfs = snap.GetBfsTree(graph, node_id, True, False)
	else:
		bfs = snap.GetBfsTree(graph, node_id, False, True)
	nodes_reached = set()
	for edge in bfs.Edges():
		nodes_reached.add(edge.GetSrcNId())
		nodes_reached.add(edge.GetDstNId())
	return nodes_reached

In [63]:
'''
Structure analysis on directed single graph
We can see that 46.32% of all the nodes are in the largest wcc of 18,037 nodes.
This is not exactly bowtie structure since the size of the disconnected
is really large (20,899 nodes - more than half of the nodes)
'''
N = Gs.GetNodes()
print 'Total nodes:', N
print 'Relative size of SCC in Network:', snap.GetMxSccSz(Gs)
print 'Real size of SCC:', int(N * snap.GetMxSccSz(Gs))

MxScc = snap.GetMxScc(Gs)
nodes_reached = set()
for edge in MxScc.Edges():
    nodes_reached.add(edge.GetSrcNId())
    nodes_reached.add(edge.GetDstNId())
print nodes_reached
# node_in_scc = random.sample(nodes_reached, 1)[0]
node_in_scc = 4683
print node_in_scc
scc_size = len(nodes_reached)

out_scc = len(getBFS(Gs, node_in_scc, 'out'))		
in_scc = len(getBFS(Gs, node_in_scc, 'in'))

in_size = in_scc - scc_size
print 'Real size of IN:', in_size
out_size = out_scc - scc_size
print 'Real size of OUT:', out_size

wcc_size = int(snap.GetMxWccSz(Gs) * N)

print 'Max WCC size:', wcc_size
print 'Disconnected size:', N - wcc_size
print 'Tendrils size:', wcc_size - in_size - out_size - scc_size


Total nodes: 38936
Relative size of SCC in Network: 0.000128415861927
Real size of SCC: 5
set([4682, 4683, 7501, 7502, 4685])
4683
Real size of IN: 9
Real size of OUT: 20
Max WCC size: 18037
Disconnected size: 20899
Tendrils size: 18003

In [64]:
print snap.GetClustCf(Gs)
print snap.GetClustCf(Gu)
print snap.GetClustCf(G)


0.00385427488055
0.00385427488055
0.00118101357018

In [47]:
'''
Structure analysis on undirected single graph
'''
N = Gu.GetNodes()
print 'Total nodes:', N
print 'Relative size of SCC in Network:', snap.GetMxSccSz(Gu)
print 'Real size of SCC:', int(N * snap.GetMxSccSz(Gu))

MxScc = snap.GetMxScc(Gu)
nodes_reached = set()
for edge in MxScc.Edges():
    nodes_reached.add(edge.GetSrcNId())
    nodes_reached.add(edge.GetDstNId())

node_in_scc = random.sample(nodes_reached, 1)[0]
scc_size = len(nodes_reached)

out_scc = len(getBFS(Gu, node_in_scc, 'out'))		
in_scc = len(getBFS(Gu, node_in_scc, 'in'))

in_size = in_scc - scc_size
print 'Real size of IN:', in_size
out_size = out_scc - scc_size
print 'Real size of OUT:', out_size

wcc_size = int(snap.GetMxWccSz(Gu) * N)

print 'Max WCC size:', wcc_size
print 'Disconnected size:', N - wcc_size
print 'Tendrils size:', wcc_size - in_size - out_size - scc_size


Total nodes: 38936
Relative size of SCC in Network: 0.463247380316
Real size of SCC: 18037
Real size of IN: 0
Real size of OUT: 0
Max WCC size: 18037
Disconnected size: 20899
Tendrils size: 0

In [47]:
'''
Degree analysis on single directed graph
'''
DegToCntV = snap.TIntPrV()
snap.GetInDegCnt(Gs, DegToCntV)
Gs_in_degrees, Gs_in_counts = [], []
for item in DegToCntV:
    Gs_in_counts.append(item.GetVal2())
    Gs_in_degrees.append(item.GetVal1())
    
DegToCntVOut = snap.TIntPrV()
snap.GetOutDegCnt(Gs, DegToCntVOut)
Gs_out_counts, Gs_out_degrees = [], []
for item in DegToCntVOut:
    Gs_out_counts.append(item.GetVal2())
    Gs_out_degrees.append(item.GetVal1())

print '%d nodes with max in degree %d' %(Gs_in_counts[-1], Gs_in_degrees[-1])
print Gs_in_counts[-10:], Gs_in_degrees[-10:]
print '%d nodes with max out degree %d' %(Gs_out_counts[-1], Gs_out_degrees[-1])
print Gs_out_counts[-10:], Gs_out_degrees[-10:]
plt.loglog(Gs_in_degrees, Gs_in_counts, color='r', label='in degrees')
plt.loglog(Gs_out_degrees, Gs_out_counts, color='b', label='out degrees')
plt.title('degree distribution for single directed graph')
plt.xlabel('degrees')
plt.ylabel('number of nodes')
plt.legend(loc=1)
plt.show()


1 nodes with max in degree 1575
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [235, 245, 260, 265, 273, 277, 300, 417, 991, 1575]
1 nodes with max out degree 345
[1, 1, 2, 1, 1, 1, 1, 1, 1, 1] [230, 242, 243, 251, 254, 267, 289, 328, 333, 345]

In [50]:
'''
Degree analysis on single undirected graph
'''
DegToCntV = snap.TIntPrV()
snap.GetInDegCnt(Gu, DegToCntV)
Gu_in_degrees, Gu_in_counts = [], []
for item in DegToCntV:
    Gu_in_counts.append(item.GetVal2())
    Gu_in_degrees.append(item.GetVal1())
    
DegToCntVOut = snap.TIntPrV()
snap.GetOutDegCnt(Gu, DegToCntVOut)
Gu_out_counts, Gu_out_degrees = [], []
for item in DegToCntVOut:
    Gu_out_counts.append(item.GetVal2())
    Gu_out_degrees.append(item.GetVal1())

print '%d nodes with max in degree %d' %(Gu_in_counts[-1], Gu_in_degrees[-1])
print Gu_in_counts[-10:], Gu_in_degrees[-10:]
print '%d nodes with max out degree %d' %(Gu_out_counts[-1], Gu_out_degrees[-1])
print Gu_out_counts[-10:], Gu_out_degrees[-10:]
plt.loglog(Gu_in_degrees, Gu_in_counts, color='r', label='in degrees')
plt.loglog(Gu_out_degrees, Gu_out_counts, color='b', label='out degrees')
plt.title('degree distribution for single undirected graph')
plt.xlabel('degrees')
plt.ylabel('number of nodes')
plt.legend(loc=1)
plt.show()


1 nodes with max in degree 1575
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [273, 277, 289, 300, 328, 333, 345, 417, 991, 1575]
1 nodes with max out degree 1575
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [273, 277, 289, 300, 328, 333, 345, 417, 991, 1575]

In [51]:
# multi graph
DegToCntV = snap.TIntPrV()
snap.GetInDegCnt(G, DegToCntV)
G_in_degrees, G_in_counts = [], []
for item in DegToCntV:
    G_in_counts.append(item.GetVal2())
    G_in_degrees.append(item.GetVal1())
    
DegToCntVOut = snap.TIntPrV()
snap.GetOutDegCnt(G, DegToCntVOut)
G_out_counts, G_out_degrees = [], []
for item in DegToCntVOut:
    G_out_counts.append(item.GetVal2())
    G_out_degrees.append(item.GetVal1())

print '%d nodes with max in degree %d' %(G_in_counts[-1], G_in_degrees[-1])
print G_in_counts[-10:], G_in_degrees[-10:]
print '%d nodes with max out degree %d' %(G_out_counts[-1], G_out_degrees[-1])
print G_out_counts[-10:], G_out_degrees[-10:]
plt.loglog(G_in_degrees, G_in_counts, color='r', label='in degrees')
plt.loglog(G_out_degrees, G_out_counts, color='b', label='out degrees')
plt.title('degree distribution for single directed graph')
plt.xlabel('degrees')
plt.ylabel('number of nodes')
plt.legend(loc=1)
plt.show()

'''
Interpretation:
    There are a few nodes where thousands of people tweet to them. these nodes are the hubs of the echo chambers
    However, nobody tweets to more than 346 people
'''


1 nodes with max in degree 6030
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [636, 794, 1175, 1247, 1338, 1409, 1426, 1991, 2124, 6030]
1 nodes with max out degree 935
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [604, 614, 622, 628, 670, 732, 833, 834, 841, 935]
Out[51]:
'\nInterpretation:\n    There are a few nodes where thousands of people tweet to them. these nodes are the hubs of the echo chambers\n    However, nobody tweets to more than 346 people\n'

In [53]:
plt.loglog(G_in_degrees, G_in_counts, color='r', label='Multi directed in degrees')
plt.loglog(G_out_degrees, G_out_counts, color='b', label='Multi directed out degrees')
plt.loglog(Gs_in_degrees, Gs_in_counts, 'go', label='Single directed in degrees')
plt.loglog(Gs_out_degrees, Gs_out_counts, 'yo', label='Single directed out degrees')
plt.title('degree distribution')
plt.xlabel('degrees')
plt.ylabel('number of nodes')
plt.legend(loc=1)
plt.savefig('degree.png')
plt.show()



In [63]:
def find_communities(G, threshold=0):
    CmtyV = snap.TCnComV()
    modularity = snap.CommunityCNM(G, CmtyV)
    communes = {}
    i = 0
    for Cmty in CmtyV:
        commune = []
        for NI in Cmty:
            commune.append(NI)
        if len(commune) >= threshold:
            communes[i] = commune
            i += 1
    return communes, modularity

In [64]:
'''
communes is a dict mapping from community_id to list of ids in that community
but id is node id, not twitter id. you can translate from node id to twitter ids through map nodes2names
so if node_id is 2, you can get the twitter user id associated with it using nodes2names[2]
'''
communes, modularity = find_communities(Gu)


Out[64]:
'\ncommunes is a dict mapping from community_id to list of ids in that community\nbut id is node id, not twitter id. you can translate from node id to twitter ids through map nodes2names\nso if node_id is 2, you can get the twitter user id associated with it using nodes2names[2]\n'

In [67]:
# make sure each node is in exactly one community
assert sum([len(communes[i]) for i in communes]) == Gu.GetNodes()

In [69]:
threshold = 20
all_nodes = [node.GetId() for node in Gu.Nodes()]
print 'number of communities:', len(communes)
print '%d communities with at least %d members:' %(len(communes), threshold)

top_communes = {i: communes[i] for i in communes if len(communes[i]) >= threshold}

for i in top_communes:
    nodes = snap.TIntV()
    for node in top_communes[i]:
        nodes.Add(node)
    rand = snap.TIntV()
    rand_nodes = random.sample(all_nodes, len(nodes))
    for node in rand_nodes:
        rand.Add(node)
    print 'modularity of %d nodes in community %d: %f compared to %f' %(len(communes[i]), i, snap.GetModularity(G, nodes), snap.GetModularity(G, rand))
print "The modularity of the network is %f" % modularity


number of communities: 12847
12847 communities with at least 20 members:
modularity of 6847 nodes in community 0: 0.163841 compared to 0.014908
modularity of 4881 nodes in community 1: 0.068777 compared to 0.004193
modularity of 20 nodes in community 262: 0.000147 compared to -0.000000
modularity of 28 nodes in community 10897: 0.000142 compared to -0.000000
modularity of 128 nodes in community 146: 0.001165 compared to 0.000008
modularity of 28 nodes in community 916: 0.000206 compared to -0.000000
modularity of 35 nodes in community 789: 0.000389 compared to -0.000000
modularity of 104 nodes in community 24: 0.000932 compared to -0.000000
modularity of 322 nodes in community 25: 0.002765 compared to 0.000006
modularity of 1156 nodes in community 26: 0.013696 compared to 0.000186
modularity of 33 nodes in community 1566: 0.000261 compared to -0.000000
modularity of 341 nodes in community 31: 0.002853 compared to 0.000009
modularity of 21 nodes in community 1862: 0.000156 compared to -0.000000
modularity of 238 nodes in community 38: 0.001634 compared to -0.000010
modularity of 35 nodes in community 49: 0.000206 compared to -0.000000
modularity of 192 nodes in community 41: 0.001653 compared to -0.000002
modularity of 128 nodes in community 685: 0.001166 compared to -0.000005
modularity of 35 nodes in community 177: 0.000252 compared to -0.000000
modularity of 33 nodes in community 693: 0.000229 compared to 0.000009
modularity of 486 nodes in community 56: 0.005202 compared to 0.000022
modularity of 113 nodes in community 66: 0.000905 compared to -0.000001
modularity of 30 nodes in community 710: 0.000201 compared to -0.000000
modularity of 26 nodes in community 1232: 0.000229 compared to -0.000000
modularity of 349 nodes in community 312: 0.003096 compared to 0.000002
modularity of 35 nodes in community 1237: 0.000307 compared to -0.000000
modularity of 23 nodes in community 746: 0.000169 compared to -0.000000
modularity of 52 nodes in community 18: 0.000403 compared to -0.000000
modularity of 21 nodes in community 1390: 0.000192 compared to -0.000000
modularity of 55 nodes in community 368: 0.000554 compared to -0.000000
modularity of 104 nodes in community 247: 0.000796 compared to -0.000001
modularity of 249 nodes in community 634: 0.002348 compared to -0.000004
modularity of 28 nodes in community 510: 0.000188 compared to -0.000000
The modularity of the network is 0.613922

In [400]:
def homophily(G, id2hashtags, community, pro_trump, pro_hillary):
    trump_count, hillary_count = 0, 0
    trump_users, hillary_users = set(), set()
    neutral_users = set()
    all_hashtags = set()
    not_in = set()
    others = set()
    trump_users = set()
    neutrals = set()
    for node in community:
        trump, hillary = 0, 0
        trumps, hillarys = set(), set()
        if not node in id2hashtags:
            not_in.add(node)
            continue
        for hashtag in set(id2hashtags[node]):
            all_hashtags.add(hashtag)
            if hashtag in pro_trump:
                trump_users.add(node)
                trump += 1
                trumps.add(hashtag)
            elif hashtag in pro_hillary:
                hillary_users.add(node)
                hillary += 1
                hillarys.add(hashtag)
            else:
                neutrals.add(hashtag)
        if node in hillary_users and node in trump_users:
            rat = 1.0 * trump / hillary
            if rat >= 2:
                hillary_users.remove(node)
            elif rat <= 0.5:
                trump_users.remove(node)
            else:
                neutral_users.add(node)
    
    trump_users = trump_users - neutral_users
    hillary_users = hillary_users - neutral_users
   
    for tag in all_hashtags:
        if tag in pro_trump:
            trump_count += 1
        elif tag in pro_hillary:
            hillary_count += 1
        else:
            others.add(tag)
    n = len(all_hashtags)
    if hillary_count != 0:
        tag_ratio = 1.0 * trump_count/hillary_count
    else:
        tag_ratio = -1
    
    if len(hillary_users) != 0:
        user_ratio = 1.0 * len(trump_users) / len(hillary_users)
    else:
        user_ratio = -1
    print "%d trump tags, %d hillary tags out of %d. Trump/Hillary = %f" %(trump_count, hillary_count, n, tag_ratio)
    print "%d trump users, %d hillary users. %d users are neutral. Trump/Hillary = %f" \
                            %(len(trump_users), len(hillary_users), len(neutral_users), user_ratio)
    return all_hashtags, others, tag_ratio, user_ratio, abs(trump_count - hillary_count), trump_users, hillary_users, neutral_users, neutrals

In [401]:
with open('hillary.tags', 'r') as f:
    pro_hillary = set([tag[:-1].lower() for tag in f.readlines()])
with open('trump.tags', 'r') as f:
    pro_trump = set([tag[:-1].lower() for tag in f.readlines()])

print '%d pro Hillary tweets, %d pro Trump tweets' %(len(pro_hillary), len(pro_trump))


417 pro Hillary tweets, 647 pro Trump tweets

In [402]:
'''
Add the tags got from semi-supervised
'''
with open('hillary_right.tags', 'r') as f:
    pro_hillary_all = pro_hillary | set([tag[:-1].lower() for tag in f.readlines()])
with open('trump_right.tags', 'r') as f:
    pro_trump_all = pro_trump | set([tag[:-1].lower() for tag in f.readlines()])
print '%d pro Hillary tweets, %d pro Trump tweets' %(len(pro_hillary_all), len(pro_trump_all))


431 pro Hillary tweets, 682 pro Trump tweets

In [403]:
print 'over the entire network'
all_nodes = [node.GetId() for node in Gu.Nodes()]
all_hashtags, others, tag_ratio, user_ratio, diff, trump_users, hillary_users, neutral_users, neutrals \
                            = homophily(Gu, id2hashtags, all_nodes, pro_trump_all, pro_hillary_all)
# ratio is trump tags/hillary tags


over the entire network
679 trump tags, 426 hillary tags out of 10318. Trump/Hillary = 1.593897
3063 trump users, 2515 hillary users. 206 users are neutral. Trump/Hillary = 1.217893
/usr/local/lib/python2.7/site-packages/ipykernel_launcher.py:18: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
/usr/local/lib/python2.7/site-packages/ipykernel_launcher.py:41: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

In [404]:
diff_threshold = 5
trump_communes = []
hillary_communes = []
neutral_communes = []
trump_neutrals = set()
hillary_neutrals = set()
trump_user_communes = {}
hillary_user_communes = {}
for i in top_communes:
    print '%d. size of community %d' %(i, len(top_communes[i]))
    hashtags, others, tag_commune, user_commune, commune_diff, trump_users, hillary_users, neutral_users, neutrals \
        = homophily(Gu, id2hashtags, top_communes[i], pro_trump_all, pro_hillary_all)
    user_diff = abs(len(trump_users) - len(hillary_users))
    if (user_commune >= 2 * user_ratio or user_commune == -1) \
            and user_diff >= diff_threshold:
        trump_communes.append(i)
        trump_neutrals = trump_neutrals | set(neutrals)
    elif user_commune <= 0.5 * user_ratio \
        and user_diff >= diff_threshold: 
        hillary_communes.append(i)
        hillary_neutrals = hillary_neutrals | set(neutrals)
    else:
        neutral_communes.append(i)
        
    trump_user_communes[i] = trump_users
    hillary_user_communes[i] = hillary_users
print "Trump communities:", trump_communes
print "Hillary communities:", hillary_communes
print "Neutral communities:", neutral_communes


0. size of community 6847
642 trump tags, 141 hillary tags out of 4227. Trump/Hillary = 4.553191
1101 trump users, 163 hillary users. 31 users are neutral. Trump/Hillary = 6.754601
1. size of community 4881
115 trump tags, 349 hillary tags out of 2421. Trump/Hillary = 0.329513
490 trump users, 659 hillary users. 52 users are neutral. Trump/Hillary = 0.743551
262. size of community 20
0 trump tags, 0 hillary tags out of 8. Trump/Hillary = -1.000000
0 trump users, 0 hillary users. 0 users are neutral. Trump/Hillary = -1.000000
10897. size of community 28
0 trump tags, 0 hillary tags out of 3. Trump/Hillary = -1.000000
0 trump users, 0 hillary users. 0 users are neutral. Trump/Hillary = -1.000000
146. size of community 128
42 trump tags, 12 hillary tags out of 148. Trump/Hillary = 3.500000
11 trump users, 7 hillary users. 1 users are neutral. Trump/Hillary = 1.571429
916. size of community 28
0 trump tags, 0 hillary tags out of 2. Trump/Hillary = -1.000000
0 trump users, 0 hillary users. 0 users are neutral. Trump/Hillary = -1.000000
789. size of community 35
4 trump tags, 9 hillary tags out of 37. Trump/Hillary = 0.444444
0 trump users, 1 hillary users. 0 users are neutral. Trump/Hillary = 0.000000
24. size of community 104
40 trump tags, 15 hillary tags out of 166. Trump/Hillary = 2.666667
11 trump users, 10 hillary users. 2 users are neutral. Trump/Hillary = 1.100000
25. size of community 322
53 trump tags, 11 hillary tags out of 296. Trump/Hillary = 4.818182
82 trump users, 21 hillary users. 5 users are neutral. Trump/Hillary = 3.904762
26. size of community 1156
102 trump tags, 44 hillary tags out of 867. Trump/Hillary = 2.318182
149 trump users, 71 hillary users. 29 users are neutral. Trump/Hillary = 2.098592
1566. size of community 33
0 trump tags, 7 hillary tags out of 30. Trump/Hillary = 0.000000
0 trump users, 11 hillary users. 0 users are neutral. Trump/Hillary = 0.000000
31. size of community 341
111 trump tags, 13 hillary tags out of 341. Trump/Hillary = 8.538462
35 trump users, 5 hillary users. 0 users are neutral. Trump/Hillary = 7.000000
1862. size of community 21
0 trump tags, 0 hillary tags out of 6. Trump/Hillary = -1.000000
0 trump users, 0 hillary users. 0 users are neutral. Trump/Hillary = -1.000000
38. size of community 238
55 trump tags, 10 hillary tags out of 252. Trump/Hillary = 5.500000
27 trump users, 14 hillary users. 0 users are neutral. Trump/Hillary = 1.928571
49. size of community 35
15 trump tags, 4 hillary tags out of 61. Trump/Hillary = 3.750000
11 trump users, 2 hillary users. 1 users are neutral. Trump/Hillary = 5.500000
41. size of community 192
28 trump tags, 13 hillary tags out of 158. Trump/Hillary = 2.153846
11 trump users, 35 hillary users. 3 users are neutral. Trump/Hillary = 0.314286
685. size of community 128
2 trump tags, 5 hillary tags out of 28. Trump/Hillary = 0.400000
4 trump users, 29 hillary users. 0 users are neutral. Trump/Hillary = 0.137931
177. size of community 35
5 trump tags, 1 hillary tags out of 24. Trump/Hillary = 5.000000
11 trump users, 2 hillary users. 0 users are neutral. Trump/Hillary = 5.500000
693. size of community 33
0 trump tags, 3 hillary tags out of 19. Trump/Hillary = 0.000000
0 trump users, 3 hillary users. 0 users are neutral. Trump/Hillary = 0.000000
56. size of community 486
24 trump tags, 12 hillary tags out of 232. Trump/Hillary = 2.000000
25 trump users, 26 hillary users. 2 users are neutral. Trump/Hillary = 0.961538
66. size of community 113
32 trump tags, 12 hillary tags out of 185. Trump/Hillary = 2.666667
17 trump users, 4 hillary users. 0 users are neutral. Trump/Hillary = 4.250000
710. size of community 30
1 trump tags, 3 hillary tags out of 24. Trump/Hillary = 0.333333
1 trump users, 1 hillary users. 0 users are neutral. Trump/Hillary = 1.000000
1232. size of community 26
2 trump tags, 0 hillary tags out of 8. Trump/Hillary = -1.000000
19 trump users, 0 hillary users. 0 users are neutral. Trump/Hillary = -1.000000
312. size of community 349
13 trump tags, 17 hillary tags out of 97. Trump/Hillary = 0.764706
7 trump users, 79 hillary users. 5 users are neutral. Trump/Hillary = 0.088608
1237. size of community 35
2 trump tags, 4 hillary tags out of 14. Trump/Hillary = 0.500000
1 trump users, 24 hillary users. 1 users are neutral. Trump/Hillary = 0.041667
746. size of community 23
17 trump tags, 4 hillary tags out of 48. Trump/Hillary = 4.250000
3 trump users, 1 hillary users. 0 users are neutral. Trump/Hillary = 3.000000
18. size of community 52
6 trump tags, 8 hillary tags out of 51. Trump/Hillary = 0.750000
1 trump users, 13 hillary users. 1 users are neutral. Trump/Hillary = 0.076923
1390. size of community 21
0 trump tags, 2 hillary tags out of 31. Trump/Hillary = 0.000000
0 trump users, 3 hillary users. 0 users are neutral. Trump/Hillary = 0.000000
368. size of community 55
16 trump tags, 2 hillary tags out of 50. Trump/Hillary = 8.000000
18 trump users, 1 hillary users. 1 users are neutral. Trump/Hillary = 18.000000
247. size of community 104
5 trump tags, 10 hillary tags out of 64. Trump/Hillary = 0.500000
0 trump users, 18 hillary users. 4 users are neutral. Trump/Hillary = 0.000000
634. size of community 249
5 trump tags, 8 hillary tags out of 47. Trump/Hillary = 0.625000
2 trump users, 44 hillary users. 1 users are neutral. Trump/Hillary = 0.045455
510. size of community 28
0 trump tags, 4 hillary tags out of 38. Trump/Hillary = 0.000000
0 trump users, 3 hillary users. 0 users are neutral. Trump/Hillary = 0.000000
Trump communities: [0, 25, 31, 49, 177, 66, 1232, 368]
Hillary communities: [1566, 41, 685, 312, 1237, 18, 247, 634]
Neutral communities: [1, 262, 10897, 146, 916, 789, 24, 26, 1862, 38, 693, 56, 710, 746, 1390, 510]
/usr/local/lib/python2.7/site-packages/ipykernel_launcher.py:18: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
/usr/local/lib/python2.7/site-packages/ipykernel_launcher.py:41: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

In [405]:
def get_modularity(G, nodes):
    nodes_wrapper, rand = snap.TIntV(), snap.TIntV()
    all_nodes = [n.GetId() for n in G.Nodes()]
    for node in nodes:
        nodes_wrapper.Add(node)
    random_nodes = random.sample(all_nodes, len(nodes))
    for node in random_nodes:
        rand.Add(node)
        
    print snap.GetModularity(G, nodes_wrapper), snap.GetModularity(G, rand)

In [406]:
'''
For most communities, 
there's no evidence that Trump users in a community are more likely to tweet 
to each other. same for hillary users
But in some communities, there are.
'''
for i in top_communes:
    print 'community', i
    get_modularity(Gu, trump_user_communes[i])
    get_modularity(Gu, hillary_user_communes[i])


community 0
-0.0497614527281 0.000104468345322
5.49751882461e-05 -1.47403004414e-05
community 1
0.00107121812638 3.12617746858e-05
-0.00332549497897 -4.07109274296e-05
community 262
0.0 0.0
0.0 0.0
community 10897
0.0 0.0
0.0 0.0
community 146
1.70655996939e-05 -5.84528026692e-08
-2.10430089609e-08 -8.41720358437e-10
community 916
0.0 0.0
0.0 0.0
community 789
0.0 0.0
-1.35049355287e-07 -9.35244842708e-11
community 24
-5.69002962303e-07 -3.37623388218e-08
-2.24552286734e-07 -2.39422679733e-08
community 25
2.79352958293e-05 8.65700036204e-06
3.80846663868e-05 -1.72926771417e-07
community 26
-9.1067783118e-05 -1.34339504451e-05
1.21136653007e-05 -1.09086958453e-06
community 1566
0.0 0.0
-1.21207731615e-07 -2.10430089609e-08
community 31
-2.4901455084e-05 -3.96880501452e-06
-2.70285759543e-08 -4.58269972927e-09
community 1862
0.0 0.0
0.0 0.0
community 38
1.66387539476e-05 -3.25558729747e-07
-1.89387080648e-07 -5.12140075867e-07
community 49
1.92831587404e-05 -2.10430089609e-08
-1.49639174833e-09 -8.41720358437e-10
community 41
-3.03861049396e-07 -1.83307989171e-08
1.81261673455e-05 -2.83154728578e-06
community 685
-2.33811210677e-09 -2.33811210677e-09
-3.95140946044e-07 -6.32225513671e-08
community 177
-3.03019329037e-08 -1.83307989171e-08
-3.74097937083e-10 -3.74097937083e-10
community 693
0.0 0.0
-7.57548322593e-09 -3.74097937083e-10
community 56
3.58516758004e-05 -8.41720358437e-08
3.80543644539e-05 -8.41720358437e-08
community 66
-6.44290172141e-07 -2.70285759543e-08
-2.10430089609e-08 -1.49639174833e-09
community 710
-9.35244842708e-11 -3.74097937083e-10
-3.74097937083e-10 -9.35244842708e-11
community 1232
-7.33231956683e-08 -1.89387080648e-07
0.0 0.0
community 312
-8.41720358437e-08 -1.32440022176e-06
-3.16636493947e-06 -2.51543452895e-06
community 1237
-8.41720358437e-10 -3.74097937083e-10
5.79167203254e-05 -1.55634094275e-06
community 746
-3.74097937083e-08 -3.36688143375e-09
-2.33811210677e-09 -3.36688143375e-09
community 18
-9.35244842708e-11 -9.35244842708e-11
-1.72926771417e-07 -2.70285759543e-08
community 1390
0.0 0.0
-1.13164625968e-08 -3.74097937083e-08
community 368
-1.57214658059e-07 -5.84528026692e-08
-3.74097937083e-10 -9.35244842708e-11
community 247
0.0 0.0
-1.57214658059e-07 -3.83076287573e-07
community 634
-1.49639174833e-09 -3.74097937083e-10
-4.98391976679e-07 -3.27045769047e-06
community 510
0.0 0.0
-1.3467525735e-08 -1.49639174833e-09

In [408]:
print len(trump_neutrals), len(hillary_neutrals)
trump_only = trump_neutrals - hillary_neutrals
hillary_only = hillary_neutrals - trump_neutrals
common = trump_neutrals & hillary_neutrals
print len(trump_only), len(hillary_only)
print len(common)


3716 269
3588 141
128

In [409]:
'''
Need to evaluate how good is this list of 618 tags.
e.g. how many are indeed pro-Trump?
'''
threshold = 5
trump_only_pop = []
for tag in trump_only:
    if len(hashtag2ids[tag]) > threshold:
        trump_only_pop.append(tag)
print len(trump_only_pop)
with open('trump_semi.tags', 'w') as f:
    for tag in trump_only_pop:
        f.write(tag + '\n')


618

In [410]:
'''
Need to evaluate how good is this list of 13 tags.
e.g. how many are indeed pro-Hillary?
'''
hillary_only_pop = []
for tag in hillary_only:
    if len(hashtag2ids[tag]) > threshold:
        hillary_only_pop.append(tag)
print len(hillary_only_pop)
with open('hillary_semi.tags', 'w') as f:
    for tag in hillary_only_pop:
        f.write(tag + '\n')


13

Suggesting users

Variables to know

top_communes: the dict of communities with at least threshold nodes. it's a dict mapping from community's index to list of nodes in that community

trump_user_communes: dict mapping from community's index to list of pro-Trump users in that community hillary_user_communes: dict mapping from community's index to list of pro-Hillary users in that community trump_communes: list of indices of pro-Trump communities hillary_communes: list of indices of pro-Hillary communities


In [411]:
''' 
Random list of user from a certain community
Example: 5 random pro_Trump users from a pro_Trump community
'''
idx = random.sample(trump_communes, 1)[0]
users = random.sample(trump_user_communes[idx], k=5)
print users


[27194, 13228, 5899, 4969, 5208]

In [416]:
''' 
People who interact with others a lot ("active community members")
Based on the node degree in undirected graph Gu

This function can also be used to find people whose posts are popular 
but don't necessarily interact with others a lot ("celebrities")
To do so, just pass in the directed graph Gs instead of Gu

a list of users that primarily create content ("creators") is 
the same as the list of popular users. they create content
and people retweet them (high in degree)

return:
    active_all: k most active users in that community
    active_trump: k most active pro_trump users in that community
    active_hillary: k most active pro_hillary users in that community
'''
def commune_active_users(G, communes, trump_users, hillary_users, idx, k):
    deg_seq = sorted([(G.GetNI(node).GetInDeg(), -node) for node in communes[idx]])[::-1]
    active_all = [-x[1] for x in deg_seq[:k]]
    deg_seq = sorted([(G.GetNI(node).GetInDeg(), -node) for node in trump_users[idx]])[::-1]
    active_trump = [-x[1] for x in deg_seq[:k]]
    deg_seq = sorted([(G.GetNI(node).GetInDeg(), -node) for node in hillary_users[idx]])[::-1]
    active_hillary = [-x[1] for x in deg_seq[:k]]
    return active_all, active_trump, active_hillary

In [417]:
'''
Example: find 5 most active members in a commune
Might not print all 5 if there aren't enough trump/hillary users in that community
'''
# idx = random.sample(trump_communes, 1)[0]
idx = 25
active_all, active_trump, active_hillary = \
            commune_active_users(Gu, top_communes, trump_user_communes, hillary_user_communes, idx, k)
print active_all, active_trump, active_hillary


[1648, 827, 4339, 3772, 695] [827, 4339, 3772, 695, 25857] [2110, 38602, 213, 1117, 2861]

In [418]:
'''
Example: find 5 most popular members in a commune
Might not print all 5 if there aren't enough trump/hillary users in that community
'''
# idx = random.sample(trump_communes, 1)[0]
idx = 25
popular_all, popular_trump, popular_hillary = \
            commune_active_users(Gs, top_communes, trump_user_communes, hillary_user_communes, idx, k)
print popular_all, popular_trump, popular_hillary


[1648, 3005, 5501, 3994, 20622] [15130, 827, 7664, 22434, 220] [5948, 9541, 15513, 213, 1117]

In [421]:
''' 
return a list of k users that primarily spread content others create ("distributors")
Based on out-degree on directed graph Gs

return:
    dist_all: k most active distributors in that community
    dist_trump: k most active pro_trump distributors in that community
    dist_hillary: k most active pro_hillary distributors in that community
'''
def commune_active_distributors(G, communes, trump_users, hillary_users, idx, k):
    deg_seq = sorted([(G.GetNI(node).GetOutDeg(), -node) for node in communes[idx]])[::-1]
    active_all = [-x[1] for x in deg_seq[:k]]
    deg_seq = sorted([(G.GetNI(node).GetOutDeg(), -node) for node in trump_users[idx]])[::-1]
    active_trump = [-x[1] for x in deg_seq[:k]]
    deg_seq = sorted([(G.GetNI(node).GetOutDeg(), -node) for node in hillary_users[idx]])[::-1]
    active_hillary = [-x[1] for x in deg_seq[:k]]
    return active_all, active_trump, active_hillary

In [422]:
'''
Example: find 5 most active distributors in a commune
Might not print all 5 if there aren't enough trump/hillary users in that community
'''
# idx = random.sample(trump_communes, 1)[0]
idx = 25
dist_all, dist_trump, dist_hillary = \
            commune_active_distributors(Gs, top_communes, trump_user_communes, hillary_user_communes, idx, k)
print dist_all, dist_trump, dist_hillary


[827, 4339, 3772, 695, 25857] [827, 4339, 3772, 695, 25857] [2110, 38602, 213, 1117, 2861]

In [103]:
def find_celebrities(G, k=-1, threshold=100):
    '''
    Find k people with the most people tweet to them (with highest in degrees)
    over the entire graph
    Or find all nodes with the at least threshold people tweeting to them 
    (with in degree of at least threshold)
    '''
    if k != -1:
        deg_seq = sorted([(node.GetInDeg(), -node.GetId()) for node in G.Nodes()])[::-1]
        celebs = [-x[1] for x in deg_seq[:k]]
    else:
        deg_seq = sorted([(node.GetInDeg(), -node.GetId()) for node in G.Nodes() if node.GetInDeg() >= threshold])[::-1]
        celebs = [-x[1] for x in deg_seq]
        print celebs
    return celebs

In [106]:
celebs = find_celebrities(Gs, threshold=100)
celebs =  find_celebrities(G, k=100) 
for celeb in celebs:
    if ids2screennames[nodes2names[celeb]] == 'KldudePap':
        print celeb, nodes2names[celeb]
#     print ids2screennames[nodes2names[celeb]]


[11, 5, 84, 877, 88, 9, 63, 54, 43, 361, 36, 42, 288, 72, 170, 338, 358, 489, 89, 146, 2386, 159, 150, 1560, 137, 262, 19, 138, 1451, 45, 194, 771, 114, 1648, 199, 276]
54 22203756
194 704034081898668032
1451 216776631

Charles works off of Chip's notebook.


In [62]:
# Populating some data structures.

tweet_id_to_user_id = {}
tweet_id_to_content_and_urls = {}
user_id_to_tweet_indices = defaultdict(lambda: [])
all_hashtags = set()
user_id_to_handle = {}
edges = []  # list, not set, because we want to allow multiple edges

timestamps = []
dates = []
formatted_time = []

for i, t in enumerate(michigan_tweets):
    user_id = tweet_util.get_user_id(t)
    user_id_to_tweet_indices[user_id].append(i)
    tweet_id = tweet_util.get_tweet_id(t)
    derived_tweet_id = tweet_util.get_derived_tweet_id(t)
    derived_user_id = tweet_util.get_derived_user_id(t)
    
    tweet_id_to_user_id[tweet_id] = user_id
    if derived_tweet_id and derived_tweet_id not in tweet_id_to_user_id:
        tweet_id_to_user_id[derived_tweet_id] = derived_user_id
    
    tweet_id_to_content_and_urls[tweet_id] = get_content(t), get_urls(t)
    all_hashtags.update(get_hashtags(t))
    user_id_to_handle[user_id] = tweet_util.get_handle(t)
    
    timestamp = tweet_util.get_timestamp(t)
    timestamps.append(timestamp)

    dates.append(str(parse(timestamp).date()))
    
    formatted_time.append(parse(timestamp).strftime("%m-%d-%H"))

all_hashtags = list(all_hashtags)

hashtag_occurrences = []
for t in michigan_tweets:
    edge = tweet_util.get_tweet_to_derived_tweet_edge(t)
    if edge:
        edges.append((tweet_id_to_user_id[edge[0]], tweet_id_to_user_id[edge[1]]))
    hashtags = tweet_util.get_hashtags(t)
    hashtag_occurrences.append([1 if ht in hashtags else 0 for ht in all_hashtags])

In [69]:
# Setting: User A retweets a tweet by user B.

# The content of user A's tweet / retweet.
def get_content(tweet):
    return tweet['text']

# A list of URLs present in the content of user A's tweet / retweet.
def get_urls(tweet):
    urls = []
    for url in tweet['entities']['urls']:
        urls.append(url['expanded_url'])
    if 'retweeted_status' in tweet and 'entities' in tweet['retweeted_status']:
        for url in tweet['retweeted_status']['entities']['urls']:
            urls.append(url['expanded_url'])
    return urls if urls else []

# The hashtag present in user A's retweet.
def get_hashtags(tweet):
    hashtags = []
    for hashtag in tweet['entities']['hashtags']:
        hashtags.append(hashtag['text'])
    return hashtags

# This function takes a single community (i.e., a list of node IDs in a graph)
# and outputs the collective content, hashtags, and urls in the tweets
# made by the users corresponding to those nodes.
def get_community_content_and_hashtags_and_urls(community):
    user_ids = [nodes2names[i] for i in community]
    list_of_lists_of_indices = [user_id_to_tweet_indices[user_id] for user_id in user_ids]
    content = []
    hashtags = []
    urls = []
    for indices in list_of_lists_of_indices:
        for idx in indices:
            content.append(get_content(michigan_tweets[idx]))
            hashtags += list(get_hashtags(michigan_tweets[idx]))
            urls += get_urls(michigan_tweets[idx])
    return content, hashtags, urls

# Sample usage, input, and output for the above function.
# Input: two nodes, 0 and 1, which correspond to two twitter users.
# Output: tweets, hashtags, and urls of the two twitter users.
test_community = [0, 1]
c, h, u = get_community_content_and_hashtags_and_urls(test_community)
print c
print h
print u


[u'RT @PAMsLOvE: #Huma Abedin Got Three Paychecks From State Dept., The Foundation, And #Clinton -Affiliated Consulting Firm https://t.co/edMA\u2026', u'RT @mike_pence: Great rally in Clearwater! In 8 days, we are going to win Florida and we are going to win back the White House! #MAGA https\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5\U0001f4a5 PAY ATTENTION \n\n#Hillary is urging her supporters to vote early DONT DO IT\n\nShe knows what's coming next week. More DAM\u2026", u"RT @KevinJacksonTBS: Let's see crooked #Hilary explain this https://t.co/gj2w8gONI9 #HillaryForPrison  #HillaryEmails #TrumpTrain", u"RT @Miami4Trump: Hillary Has THE WORST JUDGEMENT! STUNNING Video Explains Huma Abedin's Ties To Terrorists &amp; 9/11 #NeverHillary #MAGA https\u2026", u"RT @tthompie: Why should Comey placate the people for #Hillary\U0001f40d\u2753\n\nWord is it's Hillary that has big problems....not Huma.\n\nNatch HRC points\u2026", u'RT @SandraTXAS: Hey @CNN who gave the debate questions to Donna Brazile ?\n\n#trickortreat #Hillary #ImWithHer not!\n#MAGA #AmericaFirst #Trum\u2026', u'RT @petefrt: Krauthammer: Like Banana Republic, Obama Putting EPA in Control of U.S. Economy #tcot #teaparty #pjnet #nra #p2 https://t.co/Z\u2026', u'RT @TeaPartyNevada: So Damn Happy Not To Be A #CrookedHillary Supporter! \npic h/t @DRUDGE_REPORT https://t.co/gJ31mApZBH', u'RT @SonofLiberty357: #TRUMP2016 AD=&gt; \u201cThe Difference TV Ad\u201d Starring Dorothy Woods, Widow of Ty Woods. #LOCKHerUp #benghazi #NeverHillary h\u2026', u'RT @WayneDupreeShow: US Officials: No Direct Link Between Russia And Donald Trump; Media Silent! https://t.co/YCzBr6Y0so via @WayneDupreeSh\u2026', u'RT @perfectsliders: TUESDAY #Poll Who ru voting 4 president? #septastrike No Shave November #bfc530 #MyNightlifeInASong Merry Christmas #St\u2026', u'RT @lululexie: Do not #Vote for this spoiler #Utah #VoteTrumpPence16 to #DrainTheSwamp and save #America #NeverEvanorHillary @MAGA3X https:\u2026', u'RT @ryanwbass: Hrc into scaring people into giving &amp; thinks Obama &amp; his people are "prissy"\n\n#NeverHillary \n#VoteTrump \n#PodestaEmails25 \n#\u2026', u'RT @petefrt: How Mexico Hopes to Stop Trump From Winning https://t.co/XwsLADkL9i #tcot #pjnet #p2 ... https://t.co/OLUT0h5hFK', u'RT @fboLoud: #DNC PlaceFake #Trump\nWomenSupporters\n2 Antagonize\n#fboLoud #maga\n#Women #dems\n#YoungDems\nhttps://t.co/en3UHZ0ncn\nhttps://t.co\u2026', u'RT @bfraser747: \U0001f4a5\U0001f4a5 #WakeUpAmerica \n\nIt would be just INSANE to vote for #Hillary &amp; her #MuslimBrotherhood \n#PartnerInCrime likely chief of\u2026', u"RT @capito2007: @BernieSanders how can you still side with these people?! They're dragging you through the mud and destroying your legacy #\u2026", u'RT @Miami4Trump: I Grew Up In Michigan. Everyone I Know, Including Democrats Are VOTING FOR TRUMP. They Want To #MAGA!!!! \U0001f1fa\U0001f1f8 https://t.co/g\u2026', u'RT @TrumpVolume: https://t.co/infSbtlzm2', u"RT @DVATW: He's right. #MAGA https://t.co/hVmCav7akG", u'RT @MadVoterInMN: Thank you @HillaryClinton! #ImWithHer\n\nChoices:\n\n1 - A successful billionaire businessman\n2 - A corrupt politician!\n\n#MAG\u2026', u'RT @TrumpVolume: https://t.co/99XNUL665d', u'Wow https://t.co/c9HU04wFgZ', u'RT @FoxNews: .@mike_pence blasted #HillaryClinton during an #ObamaCare speech today. https://t.co/f4AOZ9oIsq', u'RT @Golftalker64: Only a criminal would want to be governed by a criminal. Catch a charge? Vote @HillaryClinton she can relate to the convi\u2026', u'RT @DanScavino: Backstage with 3 WINNERS! @realDonaldTrump, @mike_pence and @RealBenCarson. 7 DAYS UNTIL ELECTION DAY! LETS #MakeAmericaGre\u2026', u'RT @chuckwoolery: No one knows how this will turn out, but, from all indications, it looks like #Hillary is in full Panic and Damage contro\u2026', u'RT @carold501: BREAKING: CNN Busted Trying to Frame Trump https://t.co/pWCSO3yUvk #LiberalsAreLiars #Election2016 #MAGA', u'RT @ChristiChat: MORE Proof LYING Obama &amp; #CrookedHillary emailed each other on secret email accounts.\n\n#PodestaEmails25\n#hillaryforprison\u2026', u'RT @HersheSquirt: Run Lanny Run!.....#CrookedHillary wants to "ZAP" ya\n#PodestaEmails25 https://t.co/lTPaOi36iN', u'RT @ResistTyranny: \u201cThe right of the people to keep and bear arms shall not be infringed upon. Period.\u201d ~Donald Trump\n\n#2A #TrumpPence16 #D\u2026', u"RT @petefrt: Report: Media (incl Fox) Blocking O'Keefe Video for Fear of Future Retaliation by Hillary's Justice Dept #tcot https://t.co/1I\u2026", u"RT @IngrahamAngle: The smell of desperation. When you can't talk about your record...and when you're under the cloud of a criminal investig\u2026", u'@ORiellyFactor @seanhannity @megynkelly @brithume @neilcav https://t.co/XiMa13wkuU', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #WakeUpAmerica \n\nNot even John Podesta believes #Hillary when she says she can't remember. Why should you? \n\n#PodestaEma\u2026", u"RT @bfraser747: \U0001f4a5\U0001f4a5 #WakeUpAmerica \n\nNot even John Podesta believes #Hillary when she says she can't remember. Why should you? \n\n#PodestaEma\u2026", u"The Scumbag Clinton bunch turned a blind eye to Weiner's crimes against teenage girls. How can anyone vote for Clin\u2026 https://t.co/4vLbS5gqPp", u'RT @JohnFromCranber: GOAL: Fundamentally Transform USA Into a 3rd World Nation, Or, at Least Push USA Past The "Point of No Return" #tcot h\u2026', u'RT @LindaSuhler: Is #Wikileaks About to Release Hillary\u2019s 33,000 Deleted Emails?\n#Hillary4Prison #Crooked #DrainTheSwamp \nhttps://t.co/zHsx\u2026', u'RT @ed_hooley: DRUNK HILLARY: NEEDS TO BE SOBERED UP FOR AFTERNOON MEETINGS. CONFIRMED #MAGA #hillary #BernieSanders #JillStein \n https://t\u2026', u"RT @BarbMuenchen: They don't think we will show up \U0001f602\U0001f602\U0001f602\U0001f602\U0001f602 We will storm this Election! We always show up \U0001f600 #BrexitUSA #DrainTheSwamp #TrumpL\u2026", u'Krauthammer: Hillary is DROWNING and DESPERATE https://t.co/IRWlhOqrCh #LockHerUp', u'RT @CBNNews: Black church leaders demanding a meeting with #Clinton should she win the presidency. https://t.co/aHvv1PYuRH', u'RT @TrumpVolume: https://t.co/wHWuI8HEfS', u'RT @gerfingerpoken: Hillary Lies, says #Benghazi Station Chief Gregory Hicks https://t.co/HDf38NHeRS\xa0- American Thinker - #PJNET 111 - http\u2026', u'RT @phil200269: Democrats:\n\n"Half of Afro-American Men Are On Their Way To Jail, In Jail,  Or Just Got Out Of Jail."\n\n#FBISongs\n#TrumpPence\u2026', u'RT @sxdoc: Huma Abedin: The Spy for Saudi Arabia #DrainTheSwamp #Millennials #LockHerUp #MAGA https://t.co/55rQZWWwM4 https://t.co/40rPtyW9\u2026', u'RT @AngelOfficial: Texas Senator Ted Cruz Urges Conservatives to Vote Straight Republican Ticket https://t.co/PbL3pTONds via @BreitbartNews\u2026', u"RT @realDonaldTrump: WikiLeaks emails reveal Podesta urging Clinton camp to 'dump' emails. \nTime to #DrainTheSwamp!\nhttps://t.co/P3ajiACiXK", u'RT @TrumpVolume: https://t.co/PzbMfA7M4T', u'RT @gerfingerpoken: #Benghazi Mom Patricia Smith Targets Serial Liar Hillary https://t.co/W4TNeNXgtI - American Thinker - #PJNET - https://\u2026', u'RT @TrumpVolume: https://t.co/sE95mTajuT', u'RT @DonaldJTrumpJr: It was my pleasure. Thank you! #MAGA  https://t.co/Ep0DgtdJGT', u'RT @Stevenwhirsch99: Look at the date. This proves intent concerning #HillarysEmails  #PodestaEmails25 #LockHerUp \n\nhttps://t.co/NskDXEAdzI\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #Abortion\n\nIf this doesn't scream VOTE #TRUMP I don't know what does. There are possibly 3-4 SCOTUS positions at stake.\u2026", u"RT @JxhnBinder: This is Hillary's reaction to a single protester at her rally today.... yeah, she should def have her thumb on the nukes ya\u2026", u'RT @WeNeedTrump: RETWEET if you believe Donald Trump will win on this night in one week. #MakeAmericaGreatAgain https://t.co/8oVZHjwTCu', u'RT @southsalem: Marc Rich pardon lawyer. #MAGA #RIGGED #DrainTheSwamp https://t.co/N2OFSmznsu', u'RT @TrumpSuperPAC: Love @RealBenCarson! People in DC about to learn "what the word \'YOU\'RE FIRED\' means." #DrainTheSwamp #TRUMP #MAGA3X htt\u2026', u'RT @gerfingerpoken: Dems Seek to Subvert Catholic Church - American Thinker https://t.co/v5FB5O1Q1X\xa0 #MAGA #PJNET 111  https://t.co/9Nm0L0C\u2026', u"RT @ChristiChat: EXCLUSIVE:\nSource of DNC, Podesta Leaks 'Comes From Within Washington\n\nCOUP! #MAGA #WIKILEAKS #hillaryforprison #FBI\nhttps\u2026", u'RT @exposeliberals: State-Department suddenly finds 323 Clinton e-mails \u2013 some classified https://t.co/1y703z5ayg #tcot #tlot #tgdn https:/\u2026', u'RT @softwarnet: #podestaemails26 #podestaemails\nhttps://t.co/ZuH6DoNBi2\nMr. Info Security Podesta "What\'s my njtransit password?" https://t\u2026', u'RT @AlyLovesMovies: Hillary Campaigns With Criminal Porn Star and Can\u2019t Draw Crowd in Florida. DISGUSTING #NeverHillary https://t.co/dlm6vW\u2026', u'RT @JulesKrajewski: FBI found pay-for-pardon in Bill Clinton Foundation.\n\n#PayForPlay #PayForPardon #ClintonCash #ClintonCorruption #Crooke\u2026', u'RT @ChristiChat: WATCH Democrats, Media, NeverTrump Have National Panic Attack...because with TRUMP we will #MAGA on Nov 8th\n\nhttps://t.co/\u2026', u"RT @_RealValentina_: VIDEO:18 month review of #Hillary's ever-changing statements regarding her private email server. \n#FBI\n#WikiLeaks\n#Pod\u2026", u'RT @TeamTrump: The support for @realDonaldTrump is INCREDIBLE -- Our movement is making HISTORY! #MAGA #TrumpTrain https://t.co/1n39aU3cMT', u"RT @LindaSuhler: 'Hillary Clinton took up to $25 million from Saudi Arabia, where being gay is punishable by DEATH.'\n\n#NeverHillary #DrainT\u2026", u'RT @TrumpVolume: https://t.co/h3bcMBgbCj', u'RT @gerfingerpoken: Air Force Whistleblower: Hillary Could Have Saved #Benghazi Lives - American Thinker - https://t.co/jU6UK2COdF  https:/\u2026', u'RT @joshgremillion: .@realDonaldTrump Will bring the change we are waiting for- America. Better. Stronger. More prosperous for everyone. #M\u2026', u"RT @Stevenwhirsch99: Isn't this the same woman who said polls can't be rigged? #Hillary is mentally ill. #WakeUpAmerica #VoteTrump #MAGA\n\nh\u2026", u'RT @DeannaChristia9: Corrupt criminal #ClintonFoundation nothing but a huge slush fund.\nClintons are grifters.\n#TrumpPenceLandslide\n#Trump\u2026', u"RT @LouDobbs: Insight into the Tortured Workings of Hillary's Mind #MAGA #TrumpTrain #TrumpPence16 #AmericaFirst #Dobbs https://t.co/1GuRiV\u2026", u"RT @KTHopkins: ALL of Miami turned out for Trump. #MAGA Clinton rallies attended by spinsters who couldn't even attract genital warts. http\u2026", u"RT @bfraser747: \U0001f4a5\U0001f4a5 #Dems4Trump\n\nThis election isn't about Republican vs. Democrat. It's about #Corruption vs\n#MAGA. \n\n#DrainTheSwamp\n\n#pode\u2026", u'RT @ResistTyranny: The choice is clear: Corrupt, career political hack who won\u2019t change a thing, or businessman who promises to #DrainTheSw\u2026', u'RT @TimRunsHisMouth: "If this story gets out, we are screwed."- Lawyer\'s response to Chelsea digging up Clinton Foundation Pay-to-Play #Pod\u2026', u'RT @Harlan: Two Choices. Two Americas.\n\nTo borrow Ronald Reagan\'s line, it\'s "a time for choosing."\n\nWatch @realDonaldTrump latest ad: #MAG\u2026', u'RT @Stevenwhirsch99: These files the FBI released on #VinceFoster will eventually be Hillarys destruction! #LockHerUp #PodestaEmails26\n\nhtt\u2026', u"RT @grindingdude: When your #voting this election it's your turn to use the 'famous' DELETE button on your ballot! #Election2016 https://t.\u2026", u'RT @ChristiChat: This is our time\nThis is our country\nThis is the most important election of our lives\n\nVote TRUMP to #MAGA\n\nhttps://t.co/V\u2026', u'RT @TrumpSuperPAC: George Soros paid @JohnKasich over $200,000 to be #NeverTrump! #VoteTrump #PeopleOverProfit https://t.co/ZGJ6YnPW8L', u'RT @chuckwoolery: This is the truth. https://t.co/jtQJEBjTBZ', u'RT @KathyShelton_: Alex and Lee Ann and all his staff were so nice to me. Thank you for letting me talk to you. https://t.co/B2XRBeBtFP', u'RT @SU2CandMe: FBI Collusion\n#PodestaEmails #HillarysEmails\n#BernieSanders #FeelTheBern #MAGA #TrumpTrain #Trump\n#Bernie #Latinos #LatinosF\u2026', u'RT @steve0423: Only @TheDemocrats and Michelle Obama would campaign for someone who backs countries where its legal to rape women!\n#Crooked\u2026', u'RT @Thomas1774Paine: Tomi Lahren Frames The 2016 #DrainTheSwamp Presidential Election Perfectly; Calling #Hillary\'s Entourage "Swamp Rats."\u2026', u"RT @TheHemperor: @wikileaks KEEP AN EYE OUT FOR ANY NYPD OFFICERS THAT COMMITTED 'SUICIDE'. NYPD KNOWS WHAT WAS ON THAT LAPTOP. SRAY VIGILA\u2026", u'RT @tinastullracing: Makes alot of sense to Include Vote Trump is our tweets to counteract this deliberate act.  #voteTrump https://t.co/GB\u2026', u'RT @sue51684: #VoterFraud on a MIND-BLOWING Level https://t.co/9KasKPjosI @Dian5 @USAlivestrong @Wild_Phil @whiteshot @Brendy438', u'RT @spotmegone: Indict #CrookedHillary aka #CorruptHillary NOW! Post election is TOO LATE - Impeachment will take too long, no one wants Ka\u2026', u"RT @Eliz728: This piece of shit is Romney's. https://t.co/wY61Yt395D", u'RT @DefendingtheUSA: BREAKING : 2 Separate Sources just told Bret Baier that the FBI is moving towards an indictment of #HillaryClinton - T\u2026', u'RT @CarrieBaldrige: And this is who the Democrats want to run our country? Idiots! #trumptrain #MAGA @KazmierskiR @TeamTrump https://t.co/6\u2026', u'RT @TheWrightWingv2: \u25ba The days of the Clinton Crime family are rapidly coming to an end.\n\n#CMAawards50 #ImWithHer #QueenSugar Beyonce #AHS\u2026', u"RT @HeatherNauert: New reports of #voterfraud in #florida #gop officials accusing #Broward Co of opening mail-in ballots bf they're verifie\u2026", u"RT @ChristiChat: Go ahead...Try it\nwe'll hunt you down\nyou'll pay the price\nis #CrookedHillary worth it?\n\n@TheDemocrats \n#ImWithHer #LockHe\u2026", u'RT @debsellsslc: #Pay2play \U0001f4b0\U0001f4b0\U0001f4b0w/#WJC\u27a1\ufe0f#BillClinton\U0001f4b0\U0001f4b0#ClintonFoundation\U0001f4b0\U0001f4b0 #Ukraine #Pinchuk \u27a1\ufe0fWho is in BED WITH WHOM\u2049\ufe0fR U willing to Risk y\u2026', u'#DrainTheSwamp https://t.co/VVwLsqsluD', u"RT @halsteadg048: Today in MI, Benghazi veteran @MarkGeistSWP spoke &amp; introduced @DonaldJTrumpJr, noting #Hillary doesn't pass Marines lead\u2026", u'RT @LElizaBria: So funny!  Good laugh! https://t.co/dp6sPr3WCy', u'RT @TrumpSuperPAC: .@SheriffClarke thinks FBI investigation into #Hillary leads to the White House! He thinks Obama is running scared prote\u2026', u'It looks like Obama and all the criminals in the DNC messed with the wrong people from the FBI to the local police dispatcher. #MAGA', u'RT @WeNeedTrump: GOOD MORNING TRUMP TRAIN. Hillary is going down very soon. We will take back our country. #MakeAmericaGreatAgain https://t\u2026', u'RT @FightNowAmerica: Trump supporters have raised $165,000 for the church that was burned by Democrat agitators.\n\n#ImagineTrumpsAmerica #Wo\u2026', u'RT @halsteadg048: WIKILEAKS=&gt;Kadzik\u2019s Son to Podesta: \u201cHave Always Aspired\u201d to Help Hillary Campaign https://t.co/TGUQz2R7L6 Time To #Drain\u2026', u'RT @vivelafra: #HILLARYINDICTMENT: To the brave men &amp; women of the @FBI who refused to be intimidated by AG Loretta Lynch: AMERICA SALUTES\u2026', u'RT @LindaSuhler: THIS is how Clinton\'s camp treated Bernie:\n\n"I agree.. Where should we stick the knife in?" \n\n#PodestaEmails27 #FeelTheBer\u2026', u'RT @retiredfirecapt: A #HillaryIndictment is needed, along with a landslide win for #Trump! https://t.co/VJa5sDflO6', u"RT @SmallBiz4Trump: Let's \U0001f64f\U0001f3fc this is true. https://t.co/DFoC0L8L0y", u'RT @skylark1984: Great read by @michellemalkin "Lock her up later - lock her out of 1600 Pennsylvania Ave NOW" #PJNET #tcot #MAGA https://t\u2026', u'RT @robynanne: California man finds dozens of #ballots stackd outside home https://t.co/BFbRq4sDm9 #VoterFraud #Election2016 #HillaryIndict\u2026', u'RT @Rasmussen_Poll: Among voters who are certain of their vote, #Trump has a 10-point lead over #Clinton \u2013 53% to 43%. https://t.co/nzne0XB\u2026', u"RT @nothebossofme: It's disgusting that any #democrat politician still dares to support #Hillary at this point. #HillaryIndictment", u'RT @ArthurSchwartz: #TeamHillary: "Definitely" not releasing all of the emails. Because @GovernorVA was meeting w/ McCabe at FBI two days l\u2026', u'RT @michaelbeatty3: "ADD A BIT MORE CHRIS STEVENS"\ndrafting #BENGHAZI opening statement\n\U0001f1fa\U0001f1f8 #PodestaEmails27 #Wikileaks\nhttps://t.co/uvypx3M\u2026', u'RT @preciousliberty: #Podesta Caught Covering Up Crimes In New #WikiLeaks\n\n#Tampa #Orlando #Miami #FL #MAGA\nhttps://t.co/zAXXIrVxPK\nhttps:/\u2026', u'RT @Linking_Mercury: Confiscate her dresses. https://t.co/5Pic4lFKv0', u"RT @NetworksManager: We've been asking same thing. #DrainTheSwamp\n@strudders_cfc @ResistTyranny @thejointstaff @USArmy @USMC @usairforce ht\u2026", u'The Trump Train is going to roll over Hillary like a turd on the track. #MAGA3X #Trump2016 #', u'RT @American_Momma: @Katzerinaa @MMFlint I voted yesterday! I sat looking at my ballot with my mark next to Trump/Pence &amp; became a bit emot\u2026', u'RT @VWilderness: #Wikileaks #NOHILLARY !!!!! https://t.co/tH5uUrHuhr', u'RT @avanconia: \U0001f914What bugs me about this - is how much they have withheld in regards to National Security.. #LockHerUp\U0001f6bd\n\U0001f30a#Podesta27\nhttps://\u2026', u'RT @bocavista2016: PATHETIC \n\nEx-Apprentice #SummerZervos Paid $500K By @GloriaAllred To Accuse Trump\n\nhttps://t.co/csilmBycWp\n\n#HillaryInd\u2026', u'RT @Stonewall_77: BOOM! Assange: Clinton &amp; ISIS funded by same money, Trump won\u2019t be allowed to win. https://t.co/wLE7Ad4xWB #MAGA #TrumpTr\u2026', u'RT @TheSonsOfChaos: WARNING GRAPHIC! Marina Abramovic Annual Gala #enemiesofthepeople #SpiritCooking #podestaemail #DrainTheSwamp https://t\u2026', u"RT @LindaSuhler: Couldn't make this crap up -- who the hell IS Hillary Clinton?\n\n#HillaryIndictment #SpiritCooking #PodestaEmails\n\nhttps://\u2026", u'RT @petefrt: Even NYTimes Now Admits: Donations to Foundation Vexed Hillary Clinton\u2019s Aides, Emails Show #tcot #pjnet #p2 https://t.co/Sao5\u2026', u"RT @LindaSuhler: Glen Doherty's sister speaks out about how Hillary Clinton let her brother die in #Benghazi...\n#VoteTrump #MAGA\nhttps://t.\u2026", u'RT @rescuetracker81: #ImWithAmerica #Imwithyou \n #Trump2016 https://t.co/x1MfXzB7UQ', u"RT @chuckwoolery: I KNOW you don't hear, see or read that the #DOJ is in FullDefence mode for #Hillary and the #ClintonFoundation. All you\u2026", u'RT @drewwyatt: \U0001f4a5 Ben Carson Slams Hillary Clinton Exposing Her Close Relationship w/Saul Alinsky &amp; Their Real Agenda.\n\n#Trump2016\U0001f1fa\U0001f1f8 https:/\u2026', u'RT @hrtablaze: Breaking: Assange says elites are gathered together to stop Trump and talks about the Isis, Clinton, Saudi Connections. \n\n#D\u2026', u"RT @peddoc63: 94.6 million Americans unemployed. That's up over 14 million more jobless since 2008. Hillary will be a 3rd Obama term! #MAGA\u2026", u'RT @halsteadg048: \U0001f4a5\U0001f4a5 BREAKING NEWS\n\nGen.Flynn calls for #Hillary to dropout "She Should Not Be Running for President"\n\n#HillaryIndicment\u2026', u"RT @GUCCIFER_2: I'll be an independent observer at the U.S. #Elections2016\nI call on other hackers to monitor the elections from inside the\u2026", u'RT @DrMartyFox: #Hillary Went To #Pedophile Sex Island At Least 6 Times \n\nThe Corrupt #DOJ Is Blocking A Press Conference &amp; Arrests\n\nhttps:\u2026', u'RT @perfectsliders: #Poll Who ru voting 4 president? #FridayFeeling #SpiritCooking Who Broke Politics #DNC #RNC #cubsparade Qaeda #National\u2026', u'RT @PatriotByGod: @wikileaks exposed DNC paid thugs to instigate and attack Americans. Now we hear about ANOTHER attack at poll booths. #DN\u2026', u'RT @1stAirDel_USMCR: \u2018I refuse to be a pawn\u2019: HuffPo writer, Latino activist recants his Hillary support in powerful op-ed https://t.co/Gle\u2026', u'RT @JamesOKeefeIII: If you see or suspect #VoterFraud, please call local law enforcement then send us a tip here: https://t.co/WnTRBtpOoL #\u2026', u'RT @marykinva: Colin Powell threatens Cheryl Mills on topic of @HillaryClinton emails #PodestaEmails29 #NeverHillary https://t.co/qZuWOvn1X\u2026', u'RT @WayneDupreeShow: \U0001f4f0 Chaffetz Puts DOJ On Notice: Do Not Destroy Any Files Related To Hillary Investigation! https://t.co/jXemOBhQ0n #Dra\u2026', u'RT @WeNeedTrump: Hillary Clinton intentionally deleted her emails. #CrookedHillary https://t.co/pTigyw6hZZ', u'RT @gerfingerpoken: Clinton Thug Robert Creamer Planned Obamacare in Jail - American Thinker - #MAGA #PJNET 111 https://t.co/a285QNtlyu\xa0 ht\u2026', u'RT @LeahR77: Illegals Are Provided "Ankle Monitor" Chargers At Hillary Campaign Headquarters \U0001f44dVia @TruthFeedNews #FridayFeeling #Spiritcook\u2026', u'RT @Onelifetogive: Clinton Campaign Acknowledged Hypocrisy on Equal Pay https://t.co/WAjfH94sbJ #WashFreeBeacon #tcot', u'RT @DeplorableBride: Think before you #vote #Pennsylvania #florida #NorthCarolina #Ohio #VoteTrump https://t.co/jQiRPlztW4', u'RT @Stonewall_77: Hillary Visited Pedophile Island 6 Times!\nShe is NO champion of women or children - She is a predator\n\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\n#hillarycl\u2026', u"RT @TraceyTheisen: NFL legend Rosey Grier, who is black, says he's backing #Trump https://t.co/tm8cIcKXi4 #TrumpTrain #Blacks4Trump #Trumps\u2026", u'RT @Amir_Hali: @wikileaks Hillary Clinton winning the election means more lives ruined #CrookedHillary https://t.co/U1DeBHevE1', u'RT @jturnershow: Racist @oreillyfactor, Fox\nNews &amp; Clinton Join Socialist Union Police Starting Murderous War On Black\nMen @VanJones68 #MAG\u2026', u'RT @TrumpNewMedia: Two Favors For Morocco gets #Hillary $28 Million https://t.co/93fZFBQidV #NBCNews #CBSNews #Reuters #Trump #Bloomberg #B\u2026', u"RT @UghToHillary: She sent Stevens to #Benghazi to retrieve missiles she sold illegally, that got American's killed! She should have gone h\u2026", u'RT @VoteTrumpPics: "Real change begins with immediately repealing and replacing ObamaCare." - @realDonaldTrump\n\n#RememberWhenTrump \U0001f1fa\U0001f1f8  #MAG\u2026', u"RT @realDonaldTrump: WikiLeaks emails reveal Podesta urging Clinton camp to 'dump' emails. \nTime to #DrainTheSwamp!\nhttps://t.co/P3ajiACiXK", u'RT @wikileaks: Hillary Clinton "Wing Ding" speech for Iowa, Aug, 2015 (see attachments) #PodestaEmails https://t.co/a2BUNGWj8U https://t.co\u2026', u"RT @Trumptbird: FALSE: Clinton claims she spent her career fighting 4 children. TRUTH: Clinton used the gov't to get rich #VoteTrump https:\u2026", u"RT @healthandcents: #RememberWhenTrump paid 65 #MSM reporters. \nI don't.\n#Hillary did.\nNBC Caught Red Handed saying Clinton won 2016 https:\u2026", u"RT @Ashley4Trump: @HillaryClinton 2 rallies 2day &amp; no mention of UR FBI investigation. U can't ignore this matter. #draintheswamp #Hillarys\u2026", u'RT @RSBNetwork: THIS is what high energy looks like, folks- and more dates will be added for Sunday and Monday.#TrumpTrain #TrumpPence16 #M\u2026', u'Arsonist Sets Trump Campaign On Fire, Endangers Neighborhood \xab CBS Denver https://t.co/HZm0k2W0pK #WAKEUPAMERICA #ClintonSavages #MAGA', u'RT @realDonaldTrump: #CrookedHillary is unfit to serve. https://t.co/bSuGvInNF1', u'RT @MajorCBS: "You try to keep me away." Joe Piscopo at #Trump rally. "I am not drinking the Kool-Aid here. It\'s the rigged against the res\u2026', u"RT @JrcheneyJohn: It was the Democrats that Created the KKK so it's not surprising to Hear #Hillary Trashing Indians \U0001f447Watch video\nhttps://t\u2026", u'RT @Carolde: #Trump at rally in Hershey, PA: "I didn\u2019t have to bring J-Lo or Jay Z. I am here all by myself. Just me. No guitar. No piano.\u2026', u'RT @ResistTyranny: Illegal immigration is far beyond a crisis.\n\nA vote for him will fix that.\n\n#BuildTheWall #DrainTheSwamp #TrumpPence2016\u2026', u"Don't admit you were there to support a criminal. #embarrasing #draintheswamp #freestuff #PodestaEmails31 #MAGAx3 https://t.co/SgAwcw0A2O", u"RT @MarvLBluechip: America Can't Afford This ...The Country is Gone... @seanhannity @oreillyfactor @newtgingrich @realDonaldTrump #NBC #CNN\u2026", u"RT @pmicc33: While Hillary hangs with rich vulgar celebrities that call women bitches &amp; Ho's, Trump is with us all the way! 100%!\n#MAGA\n#Vo\u2026", u'RT @Johnatsrs1949: \U0001f1fa\U0001f1f8\U0001f31f\u2764\ufe0f\U0001f31f\U0001f1fa\U0001f1f8 \n\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\nTIME FOR A PRESIDENT THAT LOVES THIS COUNTRY\n#TrumpPence16  #HillaryIndictment https://t.co/TNtvv\u2026', u'Fate of Obama legacy initiatives in hands of courts, successor. https://t.co/HfjsqOgxw6 #draintheswamp #MAGAx3 #VoteTrumpPence16', u'RT @TrumpVolume: https://t.co/U8nJNcuCHH are making history folks!!  Join US~ https://t.co/pJWqdtAjLP', u'#CommunistStateStrikesAgain https://t.co/rtkIuaPYfi', u"RT @BarbMuenchen: When you grow up in a neighborhood surrounded by Gangbangers, crime, bad school and no jobs, your future doesn't look too\u2026", u"RT @WeNeedTrump: GOOD MORNING TRUMP TRAIN. We're only a few days away. Keep fighting. Convince someone to join the #TrumpTrain today! https\u2026", u'RT @JikaryJack: #PodestaEmails31 #MAGA\nPodesta ADMITS JP Morgan &amp; Citibank executives should have different rules for accountability\nhttps:\u2026', u'RT @KNP2BP: #OH\n#PA  \n#OR\n#CT\n#NH\n#NC\n#VA\n#NV\n#CO\n#FL\n#AZ \n#MI\n#WI\n#GA\n#UT\n\nTruth below sets us free from #Hillary &amp; Obama LIES!\n\n#Trump wi\u2026', u"RT @Stonewall_77: MEET HILLARY'S BEST FRIEND: THE DOJ GUY INVESTIGATING HER\n\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\n\nFull Video: https://t.co/maeH927tQE\n\n#hillaryclinto\u2026", u'RT @bfraser747: \U0001f4a5\U0001f4a5 POWERFUL VIDEO\n\n#Trump has promised 2 invest 100B into inner cities &amp; better education in 8 yrs.He cares about more than\u2026', u'Disgusting WikiLeaks Revelation Exposes Benghazi Bombshell Nobody Saw Coming https://t.co/SwO0slMwiu #LockHerUp', u"RT @klcecotti: Ok Obama, who's with the KKK? That don't look like Trump https://t.co/OMlhX7BGEz", u'RT @SweetFreedom29: 4Chan, Anonymous, and Kim DotCom Say They Have Pics, Video of Bill Clinton Sex with Minors https://t.co/YFToNCwvI3 #tcot', u"Beyonce's 'Formation' Called Anti-Police, Politically Divisive https://t.co/FcVbPsEQLp #Newsmax via @Newsmax_Media #JZ Beyonc\xe9Divisive #MAGA", u'RT @tamaraleighllc: .@realDonaldTrump will make world more SAFE!\U0001f30e #MASA \U0001f1fa\U0001f1f8 \u2705VOTE #Trump \n.@HillaryClinton makes world dangerous&amp;volatile!\U0001f4a5\u2026', u"RT @JohnKStahlUSA: Trump didn't need to go thru this. He's taken on the media and establishment. Get out and support him. #tcot #ccot #gop\u2026", u'RT @JohnKStahlUSA: If allowing partial birth abortion makes you a champion of children, then we have lost our values as a nation. #tcot #cc\u2026', u'RT @LindaSuhler: When this is done, Donald Trump will have spent $100Mil of his OWN money to save this country.\nWho else has ever done this\u2026', u'https://t.co/SPc8xmtRVq via @youtube Donald Trump Weekly GOP Address Closing The Book On Clinton Politics #MAGA #VoteTrumpPence16', u'RT @Miami4Trump: Only An Evil Woman Would Laugh About A GUILTY Child RAPIST Beating A Polygraph. Hillarys NOT A Champion 4 Women Or Childre\u2026', u"Huma Abedin emerges, tells paparazzi she's 'sad' https://t.co/KmODwOMfgI via @DCExaminer #SadEspionage #MakeAmericaGreatAgain #draintheswamp", u'RT @DiamondandSilk: .@DiamondandSilk love @brunelldonald,  keep speaking the truth! https://t.co/24DYqzTkRg', u'RT @AmericanLizzy: #RememberWhenTrump said he was going to raise taxes for the middle class.........\n\nOh wait, that was #CrookedHillary \U0001f621\U0001f621\U0001f621', u'RT @go4marshall: @FoxNews https://t.co/lh7muGSglr', u'RT @Stonewall_77: BEYOND BELIEF via @LouDobbs\nInfuriating. Travesty. Treason.\n\U0001f621\u200b\U0001f621\u200b\U0001f621\u200b\nGet Word Out Everywhere!\n#MAGA #TrumpPence16\n@CarmineZ\u2026', u"RT @Cernovich: Post your ballot selfie to #MAGA3X and I'll do my best to personally RT as many of them as I can! https://t.co/oTZ1BuRXmS", u'RT @mitchellvii: When trump wins, he will have defeated the DNC, #NeverTrump and the entire Media and their pollster minions.  It is truly\u2026', u'RT @PRyan: Vote for a Better Way Forward. Vote Republican. #GOP #GOTV #Election2016 https://t.co/ZjSNSGfIYY https://t.co/cOHIF7bI7T', u'RT @USARebelSway: Obama is desperate 2 keep @realDonaldTrump out of W.H ,away from all his illegal activities. DJT will find out @POTUS is\u2026', u'RT @silenceconsent: BREAKING NEWS: CLINTON COVER UP DISMANTLED by ANONYMOUS WATCH IT HERE NOW! https://t.co/y0AwhxY0Le\n\n#anon #CrookedHilar\u2026', u'RT @mrntweet2: Remember, Remember the 5th of November!\n#anonymous #OctoberSurprise #FBIReopensCase https://t.co/zwuFkJ1zWI', u"RT @TinaCatalone: \U0001f602LMFAO @HillaryClinton couldn't even fill a free #JayZ concert They walked out by doz\U0001f602 #VoteTrump @JtMobleyFla @elianselm\u2026", u'RT @SandraTXAS: Heard Trump needs help with the black vote....rapping for Trump! \n\n@Cryme2014\n\n#Hillary #ImWithHer not!\n#MAGA #AmericaFirst\u2026', u'RT @abusedtaxpayer: B4 or after JayZ beat up the young girl??? #WakeUpAmerica https://t.co/lWciWxa7Wt', u'RT @petefrt: FBI Director Comey Laments \u2018Peculiar Indifference\u2019 Toward Growing Murder Rates https://t.co/Efb6PdcLZi #tcot  #p2 https://t.co\u2026', u"RT @Hotpage_News: #WIKILEAKS: #Hillary 's Campaign Paying For Bill Clinton and #ClintonFoundation Legal Fees #PodestaEmails https://t.co/vC\u2026", u'#ImWithHer: Watch @HillaryClinton Supporter Jay Z Physically Attack 12-Year-Old Girl In 2011 @S_C_ https://t.co/dOrgnfjfTG #VoteTrumpPence16', u"RT @ChrissyQ1915: Bless his heart!!  My Dad was on hospice for two weeks... praying for Mr Howard's family! My Dad would have #VoteTrump to\u2026", u'RT @tteegar: Notice .@realDonaldTrump words right before attempt! Spoke of protecting our families! \nPlease Wake Up #VoteTrumpPence\U0001f1fa\U0001f1f8 #Reno\u2026', u'RT @WestJournalism: Trump Rushed Off Stage Amid Feared Assassination Attempt; \u2018We Will Never Be Stopped\u2019 https://t.co/Y1lKiq7Tdk #tcot http\u2026', u'RT @TrumpVolume: https://t.co/U8nJNcd1j7 are making history folks!!  Join US~ https://t.co/w494TejgcZ', u'RT @MichaelsANewman: All we have heard from Hillary is #Trump doesnt have the judgement, etc 2B #POTUS. https://t.co/VHdxyWnx5X really? Tal\u2026', u'Trump Surge Freakout: More Violence Against Supporters https://t.co/IOPz7SEDhg via @LifeZette #MAGA #RiggedElection #DNCLies #RobertCreamer', u'RT @david2400nc: Oh sweetie, you may call them citizens, I call them felons. https://t.co/atGf2FgyV0', u"RT @TruthFeedNews: Why a Hillary Presidency is Communist Alinsky's DREAM &amp; Should Be Every American's WORST NIGHTMARE https://t.co/7rklwcMe\u2026", u"RT @gerfingerpoken: (IBD) Hillary Clinton Email Gaps Hide 'Pay For Play,' #Benghazi Truth https://t.co/k96sw7Z69w - @IBDeditorials - https:\u2026", u'RT @thriftymaven: This is what #voterfraud looks like Austyn Crites https://t.co/Lk1njy8KkU', u'RT @obatomy: BREAKING: Trump Reno Disrupter Austyn Crites\u2019 Name Shows Up in Wikileaks 7 Times! https://t.co/qrxRzqzAT1 #TrumpTrain', u'RT @LOL_Donkaments: #Birddogging @rbcreamer https://t.co/3PcWGkTww8 watch this is what they do. #Reno #AustynCrites #CrookedHillary knows a\u2026', u'RT @bfraser747: \U0001f4a5\U0001f4a5 #VoteTrump\n\nOn Nov 9th the American people will wake up and realize there is HOPE and #TRUMP will maybe just #MAGA\n\n#Pod\u2026', u'RT @ChristiChat: American Patriots~\n\nWe have a duty to finish this race to #MAGA for future generations!\n\nVOTE #TRUMP\n\n#SundayMorning\n#Dayl\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 PodestaEmails31\n\nIf you #Vote4Hillary you're telling your children it's okay to lie,cheat, steal &amp; be corrupt #VoteTrump\u2026", u"RT @NiNJah__: Seems like the only people that couldn't figure out HRC is a criminal is @FBI and #DOJ.\n\n#PodestaEmails32 #wikileaks #DrainTh\u2026", u"RT @DanScavino: .@realDonaldTrump &amp; @TeamTrump stopped by Little Haiti- FL. last week. They weren't too happy w/ the Clintons! #MAGA https:\u2026", u"RT @petefrt: Pin the Tale on the Donkey: Democrats' Horrible Racist Past #tcot #pjnet #p2 #ccot  https://t.co/S0j93SXeOd", u'RT @LindaSuhler: \U0001f1fa\U0001f1f8Donald J Trump Rally TODAY #Michigan\n\U0001f4a5Sterling Heights, MI\n6 PM ET\n#TrumpPence16\U0001f1fa\U0001f1f8 #AmericaFirst #MAGA #Economy\nhttps://\u2026', u'RT @IBDeditorials: The House Homeland Security Committee Chairman has described the way Clinton handled her email as treasonous. https://t.\u2026', u'RT @AlwaysActions: \U0001f6a8 \U0001f4a5 DISGUSTING!! \U0001f4a5 \U0001f6a8\n\n#CrookedHillary bribery and\nCHILD TRAFFICKING in Haiti!!\n\n#DrainTheSwamp\n#DaylightSavingTime\nhttps\u2026', u'RT @gerfingerpoken2: Shameless Hillary Again calls #Benghazi Mom Patricia Smith a Liar:- American Thinker - https://t.co/CtfSVxqeXk  https:\u2026', u'RT @ChristiChat: This criminal is under FBI investigation for serious crimes + breaching National Security\n\n#SundayMorning\n#DaylightSavingT\u2026', u'RT @ERLNCINAR: #wikileaks DOES MEDIAS JOB\nAGAIN\nWar Queen Corrupt\n#CrookedHillary KEEPS 90% OF @ClintonFdn MONEY\nA SLUSH FUND\n#PodestaEmail\u2026', u'RT @TheRightWayNews: Who will you vote for?\n#MeetThePress #thisweek #CNNSOTU #InsidePolitics #Election2016 #PodestaEmails33\n#HillaryCantBeP\u2026', u"RT @Serenity_Seas: Here's your Obama change. The only hope left is to kick these Dems out of office and elect #TrumpPence16 #MAGA3X https:/\u2026", u'RT @Varneyco: .@CharlesHurt "This is the greatest most interesting election of our lifetime." #VarneyCo #Election2016 #TwoMoreDays', u'RT @wikileaks: RELEASE: The Podesta Emails Part 32 #PodestaEmails #PodestaEmails32 #HillaryClinton #imWithHer https://t.co/wzxeh70oUm https\u2026', u"RT @realDonaldTrump: Thank you Wilmington, North Carolina. We are 3 days away from the CHANGE you've been waiting for your entire life! #MA\u2026", u"RT @imuszero: Don't vote w/o reading #MeetThePress #SundayMorning #Trump #HillaryClinton #podestaemails33 #Podesta #DaylightSavingTime #NYC\u2026", u'RT @TrumpVolume: https://t.co/U8nJNcd1j7 are making history folks!!  Join US~ https://t.co/ntl8hdZLbz', u'RT @DarkNetXX: \U0001f6a8\U0001f4a5YOU HAVE POWER\U0001f4a5\U0001f6a8\n\n2 days your vote will Dis-Mantle the Elite Choke Hold on America\U0001f1fa\U0001f1f8\n\nTime for Justice!\n\n#SpiritCooking\n#M\u2026', u'RT @LindaSuhler: How many times have we told you Hillary Clinton HATES ordinary working Americans?\nBelieve us NOW?\n\n#Wikileaks #CrookedHill\u2026', u'RT @RWesemanKMSP: Thousands of Minnesotans line up for a chance to see @realDonaldTrump outside rally @mspairport #TrumpPence16 #trump #Ele\u2026', u"RT @LeahR77: FBI Director Comey &gt;What Were You Threatened With..\u2753 I Guess We'll Never Know\U0001f60f So It's Up To The Righteous People NOW #TrumpPe\u2026", u'RT @eavesdropann: THE FBI WILL NIT DO THEIR JOB \U0001f621\n\nSO IT IS UP TO THE AMERICAN CITIZENS TO DO IT\n\nVOTE #TRUMP \U0001f1fa\U0001f1f8\n\nSET AMERICA FREE FROM THE\u2026', u'RT @VeritasVirtusX: VIDEO : 20-Year-Old First-Time Florida Voter Won\'t Vote for a CROOK "I\'m Voting Trump!" https://t.co/IYTEdmf3jl #maga3x\u2026', u"RT @LindaSuhler: Hillary Clinton's not even REMOTELY off the hook...\n#NeverHillary #DrainTheSwamp #CrookedHillary #PayToPlay\nhttps://t.co/t\u2026", u'RT @LouDobbs: FBI Dir. Comey exonerates Hillary Clinton two days before the election \u2013 Can D.C. be more corrupt? Rudy Giuliani on #FoxLDT 7\u2026', u"RT @MichiganTaxes: #DrainTheSwamp \n\nMay God bless @realDonaldTrump and our nation.   With the Lord's providence we can #MAGA https://t.co/G\u2026", u'RT @LouDobbs: 90% of Republicans now support @realDonaldTrump \u2013 A movement for America. @KellyannePolls on #FoxLDT 7pm #TrumpPence16 #Drain\u2026', u'RT @Trump_Videos: #WakeUp #Blacks #Hillary is NOT for you\nhttps://t.co/KnNUtze2ic', u"RT @DarkNetXX: .@wikileaks confirms Clinton's killed Vince Foster. Email ID: 1643150 Look it up! REAL DEAL! #DNCLEAKS2 #Wikileaks #SpiritCo\u2026", u'RT @MarkDice: Hating Hillary will not stop her.  Voting for Donald Trump WILL.  Start planning ahead now so you can get to the polls and #D\u2026', u'RT @thorzem1: #Election2016 #AmericaFirst #WakeUpAmerica \n#UndecidedVoter #Millennial #Millennials \n#DNCleak #DNCLeaks #DNCLeak2 #PayToPlay\u2026', u'RT @_RealValentina_: PROOF: #DNC (Eric Walker) worked DIRECTLY w/Bob Creamer/Brad Woodhouse to organize #birdogging at Trump rallies. \n\n#DN\u2026', u'RT @ProudAmerican82: Maybe Comey made the statement because a bigger charge is about to drop? Murder charge? #DNCLeak2 #WikiLeaks #VinceFos\u2026', u"RT @VickyBrush: WHEN INVESTIGATORS GO ROGUE: #JamesComey and #HillaryClinton's emails https://t.co/RHras65pyp", u'RT @bfraser747: \U0001f4a5\U0001f4a5 #NotAboveTheLaw\n\nThe #FBI #DOJ and State Department were in Collusion to make #Hillary look less guilty.  \n\n#PodestaEmai\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #NeverHillary\n\nThis election isn't about Rep vs. Dem. It's about #Corruption vs #MAGA\n\n#PodestaEmails32 #VoteTrump\n\n#Hil\u2026", u"RT @DrMartyFox: Today's Quiz\n\nIf #Hillary Gets Paid Hundreds Of Thousands For ONE SPEECH\n\nWhy Don't People Show Up For The FREE Speeches\u2049\ufe0f\u2026", u'RT @VoteTrumpPics: FBI Director Comey please do us all a favor and resign.\n\nWe all have lost confidence in you.\n\n#FBI \U0001f1fa\U0001f1f8 #MAGA3X https://t.\u2026', u'RT @VoteTrumpPics: Forget FBI Director Comey!\n\n"It\u2019s up to the American people to deliver justice at the ballot box on November 8th." - @re\u2026', u"RT @ChristiChat: #WhyImVotingTrump\n\nOn the 8th of November\nJustice will be served.\nShe'll be tried by\nWE THE PEOPLE!\n\n#NeverHillary\n#LockHe\u2026", u'RT @MAGA3X: \U0001f1fa\U0001f1f8 #MAGA3X \U0001f1fa\U0001f1f8\n\U0001f6a8FLASH MOB!\U0001f6a8\n\nCBS2 Chicago Studios\nNE Corner of Washington &amp; Dearborn\nCHICAGO, IL\n\nMONDAY 7th Nov @ 5:00PM\n\n@alid\u2026', u'RT @preciousliberty: #BREAKING\n\n@wikileaks shows members of intelligence community KNOW #Clintons had #VinceFoster killed.\n\n#MAGA #p2\nhttps\u2026', u'RT @Jarjarbug: If @realDonaldTrump wins we have a country to fight for\u2026 if #Hillary wins\u2026 YOU\u2019VE ALREADY LOST your country W/O even FIRING\u2026', u"RT @RickGesler13: This coming out of Bernie Camp. The Clinton MSM can't stop us\U0001f1fa\U0001f1f8 #TrumpPence16 #MAGA\U0001f1fa\U0001f1f8 #DNCLeaks2 #ElectionFinalThoughts h\u2026", u'https://t.co/ennN9jRu1u via @youtube #MAGA #WhatAboutMeSong #NeverHillary #draintheswamp', u"RT @Johnatsrs1949: #FBI agents are contacting whistleblower and other attorneys to get necessary protection to speak.  They'll speak soon.\u2026", u'RT @justhefax_mam: Wife and sister-in-law got up at 4:30am to drive up to Sarasota for the Trump rally at 10 this morning. #WomenforTrump #\u2026', u'RT @Parker_Votes: We the People hereby Nominate @SheriffClarke as The FBI Director of Our United States of America.\n\nHe is not afraid of Mr\u2026', u"RT @TeaPartyNevada: Thank You Las Vegas Review Journal! \n\nWe are blessed to live in #Nevada with it's major newspaper supporting @realDonal\u2026", u'RT @TeamTrumpAZ: #RejectHillary  #Nov8th when you vote It is the only way to #StopCorruption #OnlyYouCanPreventHillaryCorruptClinton #Elect\u2026', u'RT @gerfingerpoken: Shameless Hillary Again calls #Benghazi Mom Patricia Smith a Liar:- American Thinker - https://t.co/3ZpZA5gpTZ  https:/\u2026', u"RT @SweetFreedom29: Leaked Speech: Bill Clinton Calls 'Coal Country' Most 'Anti-Immigrant' Part Of America https://t.co/H0svRiQy9T #WarOnCo\u2026", u'RT @roycan79: HERE\'S YOUR LAUGH FOR THE DAY: #Hillary Clinton: "I believe in transparency." Don\'t choke! Don\'t you dare choke! Just go out\u2026', u'RT @jko417: ELECTION EVE BOMBSHELL : Wikileaks Reveals Analysts at Intelligence Firm Believe Hillary Killed Vince Foster #MAGA https://t.co\u2026', u"RT @Cory_1077: VIDEO : Donald Trump's Final Election Eve Message and Video   \n#MAGA #TrumPence16Landslide \n\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\nhttps:/\u2026", u'RT @TheDonaldNews: TOMORROW IS OUR DAY TO CHANGE THE RIGGED SYSTEM! #Hannity#FOXNEWS #JudgeJeanine  #CNN #DOBBS #NBC #CBS #ABC #TuckerCarls\u2026', u'RT @jko417: The silent majority is back! #TrumpTrain (Vine by @DanScavino) https://t.co/Hm1Mhz7YdI', u'RT @reallyhadenough: ANOTHER WOMAN DISGRACING WOMANHOOD..NANCY PELOSI..LIKE HRC SAY ANYTHING...DO WHAT MAKE HER $$$$ SCREW THE PEOPLE...#DR\u2026', u'RT @Bud_Doggin: #ElectionFinalThoughts #MAGA DNC and CNN https://t.co/EEJtgUUcfH', u'RT @gabe1925: Let this sink in.... #WakeUpAmerica #PJNET #tcot #ccot https://t.co/k6bZ1SewA5', u"RT @We_R_Trump: Our guns folks...don't let her take them away #MAGA", u'RT @TRUMPMOVEMENTUS: "A Trump Admin will never, ever put the interests of a foreign country before the interests of our country" - @realDon\u2026', u'RT @CapitolAllies: Rethinking #NeverTrump: How A Trump Presidency Could Result In Limited Executive Power https://t.co/b5hKMQP2AW via @dail\u2026', u'RT @jpm05880: #wikileaks DOES MEDIAS JOB\nAGAIN\nWar Queen Corrupt\n#CrookedHillary KEEPS 90% OF @ClintonFdn MONEY\nA SLUSH FUND\n#PodestaEmails\u2026', u"RT @TomiLahren: Hillary has celebrities, pop stars, &amp; drug dealers on her side. We've got hard working Americans from every walk of life re\u2026", u'RT @HardCoreAds: LIVE on #Periscope: #Trump @networksmanger #Rally !! https://t.co/cUua6QTouo', u'RT @preciousliberty: #LouisFarrakhan to #Hillary: You\u2019ve given black people HELL, stop lying that you love us https://t.co/RiaMToMpdx\n\n#Bla\u2026', u'RT @sjwendorf: Sue away Mr. soon to be President Trump! Should be easy. #Crookedmedia #dncleak2 #dncleaks2 @realDonaldTrump @trumpteam #boy\u2026', u'RT @MelissaAFrancis: yikes. https://t.co/oPKGaqFgni', u'RT @sweetatertot2: This clean up crew is ready to undo 8 years failed policies. \U0001f601\U0001f44d\U0001f3fe#ElectionFinalThoughts #VoteTrump #ElectionDay https://t\u2026', u'RT @bfraser747: \U0001f4a5\U0001f4a5 #ElectionFinalThoughts \n\nGen.Flynn calls for #Hillary to dropout "She Should Not Be Running for President"\n\n#PodestaEmai\u2026', u"RT @ClintEastwoodLA: Want to #MakeMyDay? Get out and #Vote for #Trump tomorrow &amp; offset an Illegal #Mexican's #vote for #Hillary. I voted f\u2026", u"RT @BlissTabitha: Undercover Journalist in Full Burka Is Offered Huma Abedin's Ballot https://t.co/C90tpKMWgj  #Election2016 #VoterFraud #E\u2026", u"RT @WayneDupreeShow: This is why I don't believe in media polls. Like and Share! #votetrump #NeverHillary #DrainTheSwamp https://t.co/Kw8XP\u2026", u'RT @GrrrGraphics: Working on my #Election2016 #BenGarrison #cartoon masterpiece! You will enjoy! #StayTooned  #VoteTrumpSaveAmerica \U0001f1fa\U0001f1f8 http\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #NotAboveTheLaw \n\n#FBI agents are furious #Hillary wasn't indictment \n\nDirector Comey has made #FBI look ridiculous \n\n#V\u2026", u'RT @Varneyco: Chaffetz: if @HillaryClinton\u200b is clean, why does her staff keep pleading the Fifth? #Election2016 https://t.co/72FcRHzYlE', u"RT @US_Threepers: Fuck all news reports until voting is over. They're under orders to discourage late voting Trumpers from going to vote. #\u2026", u'RT @Callisto1947: Donald Trump Will Let Americans Keep Their Guns, Hillary Will Take Them Away &amp; Leave Americans Defenseless!! #tcot https:\u2026', u"RT @gerfingerpoken: Trump's Taxes? Audit the Clinton Foundation! - American Thinker - https://t.co/fcQ0J0Qazp\xa0- #PJNET 111 #MAGA https://t.\u2026", u'RT @HypocrisyHater1: #Catholics #Catholic #Evangelicals https://t.co/qntoCWOMou', u'RT @TrumpTheHill: What do we have to lose: Murders on pace to double in Chicago.  \nAA Unemployment 2x white. Failing schools, &amp; youth paral\u2026', u'RT @Gunservatively: Hours away from American patriots rejecting sick, drunk, #CrookedHillary https://t.co/2LBAQFtxHB', u'RT @capbye: My Final Prediction Map\n\n#GOTVforTrump #TrumpPence16 https://t.co/rRjseuH97w', u'RT @bfraser747: \U0001f4a5\U0001f4a5 #Collusion \n\n#FBI, DOJ &amp; State Department all tried to make #Hillary look less guilty. Anyone else would be in prison\n\n#\u2026', u'RT @JudicialWatch: STATE DEPT @JudicialWatch should wait as long as 5 years to see ~31,000 new #Clinton documents found by the FBI https://\u2026', u'RT @RynoOnAir: Wow. @realDonaldTrump crowds truly are amazing. https://t.co/oW1gcStW9l', u'RT @soniafarace: #CNN Asked the DNC What Questions to Ask Trump https://t.co/1BejTv4IjG  - CNN and the media WORK for Hillary! #draintheswa\u2026', u'RT @Rodexec: I voted for @realDonaldTrump #MAGASELFIE #VoteTrumpPence16 #draintheswamp https://t.co/8HB4OVWQhD', u'RT @bigboater88: They have been a cancer infecting Government from day one! Vote Trump and kill the Corrupt Cancer they are infecting the U\u2026', u'RT @kr3at: Hillary Buying Votes With \u201cFREE\u201d Concert Tickets https://t.co/7zwYtimq2T via kr3at #PodestaEmails31 #PodestaEmails32 #ImWithHer\u2026', u'RT @TeamTrumpAZ: #TrumpIsTheHeartBeatOfAmerica #ThePeoplePresident #Nov8th #election2016 #VotersLoveTrump2016 #Patriot #MilitaryMonday #NRA\u2026', u"RT @MikePenceVP: Hillary's email lies in 45 seconds\n\nNo way she should be allowed to serve. Gross &amp; total negligence! #LockHerUp #RT https:\u2026", u"RT @bfraser747: \U0001f4a5\U0001f4a5 #ElectionFinalThoughts \n\nIf U #VoteHillary you're telling your children it's okay to lie, cheat, steal &amp; be corrupt  #Vo\u2026", u'RT @gerfingerpoken2: Liar Reid Slams "Political" Comey, Not #IRS/#TeaParty - American Thinker https://t.co/tzlaQihFKu\xa0 #MAGA #PJNET 222 htt\u2026', u'RT @steve0423: #LatinosWithTrump out in full force near Miami Florida!!! \U0001f44d\U0001f1fa\U0001f1f8\U0001f44d\U0001f1fa\U0001f1f8\U0001f44d\U0001f1fa\U0001f1f8\U0001f44d\U0001f1fa\U0001f1f8\n#MakeAmericaGreatAgain #MAGA \n#TrumpPence16 \U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\U0001f1fa\U0001f1f8\u2026', u'RT @jturnershow: Liberal Schools\nIntentionally Undereducated African Americans @Michael_Nutter @MagicJohnson @KingJames\n #MAGA https://t.co\u2026', u"RT @phil200269: If Hillary cared about low income Americans she wouldn't resettle 600k Syrian refugee rapists and terrorists in their neigh\u2026", u'RT @TrumpTheHill: \U0001f6a8Chaffetz on a roll today. More Directors informing him. #ImVotingBecause Hillary is a #TPP globalist / Trump puts #Ameri\u2026', u'RT @gerfingerpoken2: Shameless Hillary Again calls #Benghazi Mom Patricia Smith a Liar:- American Thinker - https://t.co/CtfSVxqeXk  https:\u2026', u'RT @gerfingerpoken2: Trump warned of Clinton-Abedin-Weiner security risks - American Thinker https://t.co/3jEgI3ILQZ - #MAGA #PJNET 888 htt\u2026', u"RT @preciousliberty: Remember that time Michelle Obama used Bill Clinton's cheating to say #Hillary shouldn't be President? I do. https://t\u2026", u'RT @BrittPettibone: #ImVotingBecause I want Donald Trump for President and Hillary Clinton for Prison.\n\n#MAGASelfie #MAGA #PinkTheVote http\u2026', u'RT @ElianaBenador: CALLING ON ALL #TRUMP_VOTERS\n\nURGENT\u203c\ufe0f\n#TrumpPence16 \n#TrumpForPresident \n#PodestaEmails33 \nPLEASE RT RT RT \u203c\ufe0f https://t\u2026', u'RT @preciousliberty: MAKE THIS #VIRAL!\n\n#GeorgeSoros Owns HALF The #VotingMachines. SWITCH TO PAPER BALLOTS.\n\n#MAGA #MSM #DemExit #NV\nhttps\u2026', u'RT @BarbMuenchen: The Fraternal Order of Police endorse Donald J Trump! I Stand with the Men and Women in Blue! #TrumpPence16 https://t.co/\u2026', u"RT @conkanen: Never thought I'd see the day I would become a Belichick/Brady fan! https://t.co/Af3WaVDWng", u'RT @neesietweets: Huge crowd at Trump / Pence rally tonite in Manchester, NH #TrumpPence16 #MAGA https://t.co/jBis0zfu6B', u'RT @Stonewall_77: Hillary just said the first thing we agree on: "This election is about electing someone who will unify or divide us." So\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #VoteTrump\n\nThis election isn't about Republican vs. Democrat. It's about #Corruption vs\n#MAGA \n\n#Election2016 \n\n#FinalE\u2026", u"RT @TheLastRefuge2: When you're a rockstar candidate, you don't need the backup singers!  #MAGA https://t.co/nPJ6N2ECmP", u'RT @debmiller96: #PodestaEmails34 confirms that Trump was innocent of charges all along.  I hope he SUES them after he wins tomorrow.  #dra\u2026', u'RT @kat8387: TRUMP TRUMP TRUMP!!!! RETWEET IF U WANT TRUMP TO BE OUR NEXT PRESIDENT!!! #NeverHillary #MyVote2016', u"RT @roycan79: A vote for #Trump will ensure SCOTUS will remain conservative. It will also preserve Justice Scalia's landmark decisions. #Sc\u2026", u"RT @THETXEMBASSY: #ImVotingBecause @HillaryClinton is #CrookedHillary &amp; #draintheswamp can't happen fast enough America\U0001f5fd\n#Election2016 \nImm\u2026", u'RT @LVNancy: #ImVotingBecause my premiums have already increased 50% #Obamacare\n\U0001f680Skyrocketing UnAffordable premiums \nhttps://t.co/KIMYgi8IX\u2026', u"RT @LeahR77: #ImVotingBecause I Don't Want Satan &amp; Her Minions In The White House #Election2016 #ElectionNight https://t.co/jbF1XMWNLa", u'RT @latinaafortrump: "Today is our Independence  Day!" President Donald J. Trump in Michigan it\'s almost 1am! Savage! #ImVotingBecause Trum\u2026', u'RT @america_trump: Watch \U0001f440 OUR VICTORY PARTY \U0001f389 tonight &amp; get out today to VOTE\u2705 #Trump\u203c\ufe0f#MAGAX3\n\nhttps://t.co/HbXLYf6KUJ', u'RT @wikileaks: Arianna Huffington, co-founder of Huffinton Post, prefers covert influence #PodestaEmails\n https://t.co/zn0NhFxBwA https://t\u2026', u"RT @bfraser747: \U0001f4a5\U0001f4a5 #Election2016 \n\nPlease make sure to go #VoteTrump\n\nWe cannot elect a corrupt &amp; dishonest #HillaryClinton \n\nIt's up to yo\u2026", u'RT @rescuetracker81: WHO NEEDS FRIENDS LIKE THIS If #Hillary is elected\u27a1more terror more \u27a1corruption more \u27a1lies  Stop her Vote Trump https:\u2026', u'RT @mariaaraujo: @mitchellvii husband and I just woke up and getting ready to go vote 17 family members voting #trump today #njfortrump', u'RT @JohnKStahlUSA: When Ben Franklin was asked what he gave us, he said "A Republic if you can keep it."  We see tomorrow. #tcot #ccot #gop\u2026', u'RT @gerfingerpoken: Trump warned of Clinton-Abedin-Weiner security risks - American Thinker https://t.co/uxJUKMup6i\xa0 #MAGA #PJNET 111 https\u2026', u'RT @TrumpNewMedia: #Hillary #Clinton IS 100% CORRUPT! #FoxNews #NBCNews #CBSNews #Reuters #Bernie #Sanders #MSNBC #Trump #Bloomberg #AbcNew\u2026', u'RT @DefendingtheUSA: Should someone guilty of all 5 of these counts be President? Anyone else would be in Prison!!! #ElectionDay #Trump2016\u2026', u'RT @TrumpNewMedia: 20-Year-Old First-Time #Florida Voter Won\'t Vote for a CROOK "I\'m Voting #Trump!" https://t.co/gfag7BQgC1 #Reuters #Bern\u2026', u'RT @kingtotherich: Results After Midnight Voting In NH:\n\nTrump \u2014 32\nClinton \u2014 25\nJohnson \u2014 4\nStein \u2014 0\nSanders \u2014 3\nRomney \u2014 1\n\n(Source: CNN\u2026', u'RT @DrMartyFox: #ImVotingBecause \n\nThe Only Way To Stop #Hillary \n\nAfter Our Corrupt Law Enforcement Agencies Allowed Her To Skate\n\n\u25b6\ufe0fIs #B\u2026', u'RT @KamVTV: #ImVotingBecause my girlfriends son got killed by an illegal alien in SoCal and the murderer spent 90 DAYS in jail. - #ChewOnTh\u2026', u"RT @andersonDrLJA: I NEVER VOTED FOR #OBAMA I Will NEVER Vote For #HILLARY I Will ALWAYS #FIGHTTerrorism I'M PROUD TO BE A PATRIOT &amp; FOREVE\u2026", u'RT @amrightnow: #realdonaldtrump America\u2019s Future, Freedom and Our Constitution is at Stake #MAGA #DrainTheSwamp America First https://t.co\u2026', u'RT @Barry_O44: #Election2016 https://t.co/GJ1dwtQqPu', u'RT @MAGA3X: \U0001f6a8#MAGA3X\U0001f1fa\U0001f1f8\n #Trumpathon \U0001f6a8\n\nLIVESTREAM: NOW until \nWE WIN #TrumpLandslide\n\nJoin Us, Watch Us and Keep Us Company \U0001f44c\nhttps://t.co/\u2026', u'RT @DrMartyFox: #ImVotingBecause \n\n#Hillary Will Flood The Country With #Islamists \n\nWho Have Contempt For Our Culture #Christianity &amp; #Con\u2026', u'RT @TrumpVolume: https://t.co/U8nJNcd1j7 are making history folks!!  Join US~ https://t.co/luMbRbqshC', u'RT @DrStrangelove71: @mitchellvii Big line for my tiny precinct in PA.  Did my part to #MAGA #Ballotselfie https://t.co/RMe9edI3Zc', u'RT @TrumpVolume: https://t.co/U8nJNcuCHH are making history folks!!  Join US~ https://t.co/I8htyG1jCJ', u"RT @timothy60346266: @peddoc63 mornin Fiesty!! It's time to #MAGA https://t.co/SVd5HeWRqA", u'RT @reallyhadenough: WE WILL WIN AND MAKE AMERICA GREAT AGAIN!! VOTE TRUMP WEAR RED #DRAINTHESWAMP https://t.co/vZ6lA50ZYM', u'RT @David360NC: #VoteTrump today! #MakeAmericaGreatAgain, Call your friends &amp; Family, get them all to #Vote 4 @realDonaldTrump he will put\u2026', u'RT @bfraser747: \U0001f4a5\U0001f4a5 #VoteTrump\n\n#Trump has promised 2 invest $100 B into inner cities &amp; better education in 8 yrs.He cares about more than j\u2026', u'RT @rescuetracker81: #TrumpsArmy  #MAGA \u2661\u2661\u2661 #WhenWillPeopleWakeUp  #HillaryClinton https://t.co/pIJbPFIHoM', u'RT @realDonaldTrump: LIVE on #Periscope: Join me for a few minutes in Pennsylvania. Get out &amp; VOTE tomorrow. LETS #MAGA!! https://t.co/Ej0L\u2026', u'RT @snukasuper: #PodestaEmails35 the final nails in the wannabe Queen #CrookedHillary run for #POTUS \n#ElectionDay #voted #ObamaDay Go Vote\u2026', u'RT @TrumpEnchantid: @DrunkyGa @Kaibelf @drakewtravis @StefanMolyneux @USAlivestrong Finally a libtard that tells the truth. https://t.co/ab\u2026', u"RT @BrendanRyanMAGA: 18,000 support Donald Trump in Michigan! I've never seen anything like this! @Cernovich  #MakeAmericaGreatAgain https:\u2026", u'RT @didierdelmer: @MikePenceVP You are as deplorable as we all are! Lets #maga', u"RT @LouDobbs: Most people will never again believe the liberal media.  They're propaganda arm of Democrats and American Left. #MAGA #TrumpP\u2026", u'RT @Onelifetogive: "In the Senate, #Hillary accomplished nothing, and as Secretary of State far worse than nothing." https://t.co/LxJWeJpJT\u2026', u'RT @SpecialKMB1969: Thank you to BOTH of u for fighting 4theppl of our great nation!  We are behind u 100%! #MAGA\n#ElectionDay #ImVotingBec\u2026', u'RT @DonaldJTrumpJr: College voters might determine this election. Vote for a proven leader, not a corrupt politician. Politicians created t\u2026', u"RT @mike_pence: We've cast our vote. Have you? Find your polling place at https://t.co/XVvQccrKQo. If you do your part, we will #MAGA. http\u2026", u'RT @RobBoyles1418: Go Trump go, go Trump go, hey America, what do ya say? Go out and vote for Trump today!! #Trump2016', u'RT @TruthFeedNews: France Party Leader Marine Le Pen "HILLARY CLINTON IS A DANGER TO WORLD PEACE" https://t.co/PxbogSER4s #Trump2016 #Trump\u2026', u'RT @Usongo4life: Vote #Trump2016 and show us the real face of America \U0001f31d', u'RT @advocatingasd: #IVoteTrump because this is our last shot America #YesWeCan #SaveSCOTUS #DrainTheSwamp #TrumpTheVote #MAGA3X #ElectionDa\u2026', u"RT @DonaldJTrumpJr: The easiest way to get my father to do something is tell him it can't be done! Today we take back America from the elit\u2026", u'RT @ThePatriot143: #ElectionDay #MAGA3X https://t.co/BiYvu6CJfp', u'RT @atlaswon: #Students #StudentsForTrump #StudentsVote #StudentsFirst\n\n#MakeAmericaGreatAgain\n\n#MAGA\n\n#Vote Donald J. Trump!\n.@realDonaldT\u2026', u'RT @DonaldJTrumpJr: What an amazing moment to cast a vote for my father. He will be a terrific President and champion for all! #Election #T\u2026', u"RT @navybluesmoke: I'm Thinking I Should Be Sorry Now That I Don't Still Live In Chicago ; Where I Could Vote Multiple Times Per Election .\u2026", u"RT @MagicRoyalty: If Hillary wins, everyone who voted for her will be begging Trump to run in 2020. Don't vote for Corrupt Hillary, VOTE TR\u2026", u'RT @RandyWeaver19: Exit polls are starting up. IGNORE them. Get out and VOTE, its a GREAT feeling!\n#MakeAmericaGreatAgain', u'RT @TomiLahren: Millennials, do you trust government? Then why would you vote for the woman dedicated to making it bigger?! #MAGA', u"RT @bakedalaska: I am so proud to have voted for Donald J. Trump today. Couldn't be happier. \n\nThank you everyone for your support. #MAGASe\u2026", u'RT @DonaldJTrumpJr: My father will fight for the American worker. He will measure success by how many jobs he brings back to America! #MAGA\u2026', u'RT @JoshSpeece: Thanks to @floridiantim my 76 yr old Grandma, and FIRST TIME VOTER, went and VOTED FOR #TRUMP \n\n@MAGA3X #MAGA3X @Cernovich\u2026', u"RT @DonaldJTrumpJr: There is far too much power in DC. If you are unhappy with how things are going in Washington, don't send a career poli\u2026", u'RT @DonaldJTrumpJr: If you have friends in MI, OH, FL, PA -- CALL THEM and tell them to VOTE TRUMP! \n\nYou can make a difference! #MAGA #Tru\u2026', u'RT @IngrahamAngle: Will Obama\'s "election monitors" do anything about this?? https://t.co/oMpf1nimAQ', u"RT @Miami4Trump: I'd Really Like Our Next President To Be Someone Who Hasn't Been Investigated By Our FBI Numerous Times. #NeverHillary #MA\u2026", u'RT @DonaldJTrumpJr: FOX NEWS EXIT POLL: 87% of voters believe my father is the true change candidate. #MAGA \n\nGO VOTE! #TRUMP', u"RT @WeNeedTrump: THERE'S STILL TIME. IGNORE THE EXIT POLLS. GET UP AND VOTE SO WE CAN SAVE THIS COUNTRY. #MAKEAMERICAGREATAGAIN https://t.c\u2026", u'RT @GemMar333: @1611Paul @seanhannity @realDonaldTrump All the rock concerts and all the voter fraud could not keep #Trump from his mission\u2026', u'RT @bienchen6969: @0hour \n\n#clinton\n\n TIME IS UP !!!!\n\n#PresidentTrump \n\nthanks #wikileaks\nthanks #assange\nthanks #deplorables \nthanks #ame\u2026', u'#LockHerUp https://t.co/cCGYOPQH4v', u'Listening to Hillary talk about the rule of law is just too much for me to handle. #LockHerUp', u'RT @Reagan_Girl: #PresidentTrump Guess who is celebrating more than anyone else this morning, THE SECRET SERVICE! @SecretService #NeverHill\u2026', u"RT @michelle4trump: To Seth Rich and our fallen soldiers in Benghazi, this one's for you. #MAGA #ElectionNight https://t.co/lHlIQbYVhQ", u'RT @gerfingerpoken: #Benghazi Email Implicates Hillary In Stopping Rescue Ready To Go https://t.co/z8WV7uvqUr \u2026 - #PJNET - https://t.co/22v\u2026', u'RT @mikandynothem: President-elect Trump has better coverage than Verizon!\n            Can you hear us now?\n#TheMorningAfter #tcot #MAGA #F\u2026', u'Kellyanne Conway First Woman to Run Victorious Presidential Campaign - Breitbart https://t.co/sRXskGnpSM via @BreitbartNews #MAGA3X', u"RT @AccuracyInMedia: FIVE Most Random Emails, from the 'Spirit Dinner' to Her Campaign Chairman's Password https://t.co/5P2XjsfINQ #tcot ht\u2026", u'RT @renomarky: Every RT alerts #HaitiHillary aka @HillaryClinton that Americans refuse to be represented by such a ruthless greedy human be\u2026', u"RT @JohnKStahlUSA: Chelsea has time now to go to Haiti and apologize to the kids. They couldn't get McAuliffe to pay for the dress? #tcot #\u2026", u'RT @wikileaks: RELEASE: The Podesta Emails Part 35 #PodestaEmails #PodestaEmails35 #HillaryClinton #imWithHer https://t.co/wzxeh7hZLU https\u2026', u'RT @chuckwoolery: Think about the 10s of millions of dollars given on promises made by Bill and #Hillary that now cannot be made good. This\u2026', u'Soros-Sponsored Social Justice Warriors Besiege Trump Tower https://t.co/VxhUOBGz6j via @realalexjones #MAGA #draintheswamp #StopTheRadicals', u"RT @Miami4Trump: Hey Hill, You're Gonna Find Out, WHAT DIFFERENCE IT MAKES, When You Call MILLIONS Of AMERICANS Deplorable\n#ElectionFinalTh\u2026", u'RT @FoxNews: Rudy Giuliani: President Obama should not pardon #HillaryClinton, let the system decide it https://t.co/1okOaohjeJ', u'Bigot Accuses Trump] America Elects a Bigot https://t.co/daQywd5Vgk #MAGA2016 #PresidentTrump #CrookedMedia #MAGA3X #AmericaSaved', u"RT @JohnKStahlUSA: The media didn't understand. The more they trashed Trump, the more united Deplorables became. Elite, pompous morons. #tc\u2026", u'RT @edhenry: these two sons worked relentlessly https://t.co/XyBothWRMD', u'RT @RedRising11: \U0001f914Communist Illegals Projecting Their Own Reflection Protesting #Trump\U0001f644 #Texas #LoveTumpsHate #YOUSA \U0001f1fa\U0001f1f8 @learjetter  https:\u2026', u'RT @Yitzsit: Pure Happiness - @jaketapper @realDonaldTrump @gehrig38 #MAGA https://t.co/GRjEJcUa8Y', u'RT @Koxinga8: ALPHA MAN RETURNS TO THE WHITE HOUSE: Meek Obama Greets Victorious #Trump - https://t.co/ehzT15qgWr https://t.co/VFEfChqq6p', u'RT @Boazziz: Today #AndrewBreitbart would be very proud!  #MakeAmericaGreatAgain https://t.co/eWxahl1YDS', u'RT @poppycockles: "Love Trumps Hate" right underneath an effigy of our President-elect hanging from a fucking noose. The tolerant left in a\u2026', u"RT @SandraTXAS: You know you're on the right side of history when people who oppose you burning flags #ThursdayThoughts #MAGA #PresidentTru\u2026", u"RT @petefrt: Hillary's Hatred of Judeo-Christian America Revealed in Emails. Media Silent. #tcot  #p2 https://t.co/icgMAIwEhw https://t.co/\u2026", u"No he does not have to reach across party lines. We didn't elect him to continue DNC Marxist policies https://t.co/y9KjpqWxpI", u'RT @seanhannity: I promise you in the weeks, months, and years ahead, HE WILL NEED YOU TO HAVE HIS BACK. #MAGA https://t.co/7Av8c2QwIH', u'RT @DefendingtheUSA: Nice for the enemies of Trump to put together a convenient list of people who should never be trusted. #NeverTrump #Yo\u2026', u"RT @JrcheneyJohn: Being #NeverTrump and Not listening to the American People didn't go well for these Republicans \U0001f449They Lost #MAGA \nhttps:/\u2026", u'RT @halsteadg048: \U0001f1fa\U0001f1f8\U0001f680WE WON the battle against @HillaryClinton\U0001f61d\nNow the war must continue against her #Fascist #CrookedMedia\n\U0001f438#DeplorablesU\u2026', u'RT @Stevenwhirsch99: Our new VP Mike Pence rides a street glide instead of a prius. #MAGA https://t.co/QJOY5iguPQ', u'RT @frankgaffney: Good Riddance to #NeverTrump Former Officials https://t.co/1y198kHvbs', u'RT @RNRMaryland: No justice no peace more like no brains no intellectual thought spawned from stupidity #Protesters roam the streets #RedNa\u2026', u'RT @skb_sara: https://t.co/Vtd1fkCtGo America Stood up to the Elites! #TrumpPresident #ThursdayThought #Trumplandslide #MAGA \U0001f1fa\U0001f1f8\U0001f44a', u'RT @TheRebelTV: No, it wasn\u2019t the \u201cwhite vote\u201d: Proof Trump gained with blacks, Hispanics, women, youth, poor @ezralevant https://t.co/jfYn\u2026', u'RT @TrumpStudents: We have an incredible movement that has taken place. Thousands of millennials helped elect @realDonaldTrump. #PresidentT\u2026', u'RT @DrMartyFox: #PartnersInCrime\n\nNow King #Obama Will Have To Pardon #UnindictedFelon #Hillary\n\nTo Conceal His Own Corruption &amp; Crimes htt\u2026', u'#SorosRentAMob https://t.co/QoGRedFgnB', u'RT @Faith4Mishel: Low-#information #liberals burn shoes because they thought #NewBalance endorsed #Trump... https://t.co/RP1uYB2Vr9', u'RT @MightyBusterBro: .\nDEMOCRATS and MEDIA\nFan the Flames of RACISM \nA Powerful Must See Video\n\n#NRA #MAGA #NeverHillary\nhttps://t.co/r4EF6\u2026', u'I would not want to be followed by a bunch of back stabbing liberal nut cases. #MAGAx3 #PresidentTrump #TrumpPence16 https://t.co/3a4vRJIkek', u'RT @HealthRanger: Podesta email bombshell: Clinton campaign was heavily funded by #Monsanto   https://t.co/s9TQnbSU4Z  #MAGA https://t.co/K\u2026', u'RT @gerfingerpoken2: Trump warned of Clinton-Abedin-Weiner security risks - American Thinker https://t.co/3jEgI3raZr - #MAGA #PJNET - https\u2026', u"RT @dihoppy: Arrogance is what lost it. Without #Hillary's actions there wouldn't have been FBI probe. https://t.co/cJlHWEEVAM", u'RT @davidicke: Missing CEO Of Clinton Foundation, Eric Braverman Appears To Be In FBI Custody. https://t.co/WQFEWXS57F #Clinton', u'RT @petefrt: Leaked Documents Reveal Expansive Soros Funding to Manipulate Federal Elections \n\n#tcot #pjnet #p2 https://t.co/8wzVfxZ9zV htt\u2026']
[u'Huma', u'Clinton', u'MAGA', u'Hillary', u'Hilary', u'HillaryForPrison', u'HillaryEmails', u'TrumpTrain', u'NeverHillary', u'MAGA', u'Hillary', u'trickortreat', u'Hillary', u'ImWithHer', u'MAGA', u'AmericaFirst', u'tcot', u'teaparty', u'pjnet', u'nra', u'p2', u'CrookedHillary', u'TRUMP2016', u'LOCKHerUp', u'benghazi', u'NeverHillary', u'Poll', u'septastrike', u'bfc530', u'MyNightlifeInASong', u'Vote', u'Utah', u'VoteTrumpPence16', u'DrainTheSwamp', u'America', u'NeverEvanorHillary', u'NeverHillary', u'VoteTrump', u'PodestaEmails25', u'tcot', u'pjnet', u'p2', u'DNC', u'Trump', u'fboLoud', u'maga', u'Women', u'dems', u'YoungDems', u'WakeUpAmerica', u'Hillary', u'MuslimBrotherhood', u'PartnerInCrime', u'MAGA', u'MAGA', u'ImWithHer', u'HillaryClinton', u'ObamaCare', u'Hillary', u'LiberalsAreLiars', u'Election2016', u'MAGA', u'CrookedHillary', u'PodestaEmails25', u'hillaryforprison', u'CrookedHillary', u'PodestaEmails25', u'2A', u'TrumpPence16', u'tcot', u'WakeUpAmerica', u'Hillary', u'WakeUpAmerica', u'Hillary', u'tcot', u'Wikileaks', u'Hillary4Prison', u'Crooked', u'DrainTheSwamp', u'MAGA', u'hillary', u'BernieSanders', u'JillStein', u'BrexitUSA', u'DrainTheSwamp', u'LockHerUp', u'Clinton', u'Benghazi', u'PJNET', u'FBISongs', u'DrainTheSwamp', u'Millennials', u'LockHerUp', u'MAGA', u'DrainTheSwamp', u'Benghazi', u'PJNET', u'MAGA', u'HillarysEmails', u'PodestaEmails25', u'LockHerUp', u'Abortion', u'TRUMP', u'MakeAmericaGreatAgain', u'MAGA', u'RIGGED', u'DrainTheSwamp', u'DrainTheSwamp', u'TRUMP', u'MAGA3X', u'MAGA', u'PJNET', u'MAGA', u'WIKILEAKS', u'hillaryforprison', u'FBI', u'tcot', u'tlot', u'tgdn', u'podestaemails26', u'podestaemails', u'NeverHillary', u'PayForPlay', u'PayForPardon', u'ClintonCash', u'ClintonCorruption', u'MAGA', u'Hillary', u'FBI', u'WikiLeaks', u'MAGA', u'TrumpTrain', u'NeverHillary', u'Benghazi', u'Hillary', u'WakeUpAmerica', u'VoteTrump', u'MAGA', u'ClintonFoundation', u'TrumpPenceLandslide', u'Trump', u'MAGA', u'TrumpTrain', u'TrumpPence16', u'AmericaFirst', u'Dobbs', u'MAGA', u'Dems4Trump', u'Corruption', u'MAGA', u'DrainTheSwamp', u'VinceFoster', u'LockHerUp', u'PodestaEmails26', u'voting', u'Election2016', u'MAGA', u'NeverTrump', u'VoteTrump', u'PeopleOverProfit', u'PodestaEmails', u'HillarysEmails', u'BernieSanders', u'FeelTheBern', u'MAGA', u'TrumpTrain', u'Trump', u'Bernie', u'Latinos', u'DrainTheSwamp', u'Hillary', u'voteTrump', u'VoterFraud', u'CrookedHillary', u'CorruptHillary', u'HillaryClinton', u'trumptrain', u'MAGA', u'CMAawards50', u'ImWithHer', u'QueenSugar', u'voterfraud', u'florida', u'gop', u'Broward', u'CrookedHillary', u'ImWithHer', u'Pay2play', u'WJC', u'BillClinton', u'ClintonFoundation', u'Ukraine', u'Pinchuk', u'DrainTheSwamp', u'Hillary', u'Hillary', u'MAGA', u'MakeAmericaGreatAgain', u'ImagineTrumpsAmerica', u'HILLARYINDICTMENT', u'PodestaEmails27', u'HillaryIndictment', u'Trump', u'PJNET', u'tcot', u'MAGA', u'ballots', u'VoterFraud', u'Election2016', u'Trump', u'Clinton', u'democrat', u'Hillary', u'HillaryIndictment', u'TeamHillary', u'BENGHAZI', u'PodestaEmails27', u'Wikileaks', u'Podesta', u'WikiLeaks', u'Tampa', u'Orlando', u'Miami', u'FL', u'MAGA', u'DrainTheSwamp', u'MAGA3X', u'Trump2016', u'Wikileaks', u'NOHILLARY', u'LockHerUp', u'Podesta27', u'SummerZervos', u'MAGA', u'enemiesofthepeople', u'SpiritCooking', u'podestaemail', u'DrainTheSwamp', u'HillaryIndictment', u'SpiritCooking', u'PodestaEmails', u'tcot', u'pjnet', u'p2', u'Benghazi', u'VoteTrump', u'MAGA', u'ImWithAmerica', u'Imwithyou', u'Trump2016', u'DOJ', u'Hillary', u'ClintonFoundation', u'Trump2016', u'MAGA', u'Hillary', u'HillaryIndicment', u'Elections2016', u'Hillary', u'Pedophile', u'DOJ', u'Poll', u'FridayFeeling', u'SpiritCooking', u'DNC', u'RNC', u'cubsparade', u'VoterFraud', u'PodestaEmails29', u'NeverHillary', u'CrookedHillary', u'MAGA', u'PJNET', u'FridayFeeling', u'WashFreeBeacon', u'tcot', u'vote', u'Pennsylvania', u'florida', u'NorthCarolina', u'Ohio', u'VoteTrump', u'Trump', u'TrumpTrain', u'Blacks4Trump', u'CrookedHillary', u'Hillary', u'NBCNews', u'CBSNews', u'Reuters', u'Trump', u'Bloomberg', u'Benghazi', u'RememberWhenTrump', u'DrainTheSwamp', u'PodestaEmails', u'VoteTrump', u'RememberWhenTrump', u'MSM', u'Hillary', u'draintheswamp', u'TrumpTrain', u'TrumpPence16', u'WAKEUPAMERICA', u'ClintonSavages', u'MAGA', u'CrookedHillary', u'Trump', u'Hillary', u'Trump', u'BuildTheWall', u'DrainTheSwamp', u'TrumpPence2016', u'embarrasing', u'draintheswamp', u'freestuff', u'PodestaEmails31', u'MAGAx3', u'NBC', u'CNN', u'MAGA', u'TrumpPence16', u'HillaryIndictment', u'draintheswamp', u'MAGAx3', u'VoteTrumpPence16', u'CommunistStateStrikesAgain', u'TrumpTrain', u'PodestaEmails31', u'MAGA', u'OH', u'PA', u'OR', u'CT', u'NH', u'NC', u'VA', u'NV', u'CO', u'FL', u'AZ', u'MI', u'WI', u'GA', u'UT', u'Hillary', u'Trump', u'Trump', u'LockHerUp', u'tcot', u'Newsmax', u'JZ', u'MAGA', u'MASA', u'Trump', u'tcot', u'ccot', u'gop', u'tcot', u'MAGA', u'VoteTrumpPence16', u'SadEspionage', u'MakeAmericaGreatAgain', u'draintheswamp', u'RememberWhenTrump', u'CrookedHillary', u'MAGA', u'TrumpPence16', u'MAGA3X', u'NeverTrump', u'GOP', u'GOTV', u'Election2016', u'anon', u'anonymous', u'OctoberSurprise', u'FBIReopensCase', u'JayZ', u'VoteTrump', u'Hillary', u'ImWithHer', u'MAGA', u'AmericaFirst', u'WakeUpAmerica', u'tcot', u'p2', u'WIKILEAKS', u'Hillary', u'ClintonFoundation', u'PodestaEmails', u'ImWithHer', u'VoteTrumpPence16', u'VoteTrump', u'VoteTrumpPence', u'Reno', u'tcot', u'Trump', u'POTUS', u'MAGA', u'RiggedElection', u'DNCLies', u'RobertCreamer', u'Benghazi', u'voterfraud', u'TrumpTrain', u'Birddogging', u'Reno', u'AustynCrites', u'CrookedHillary', u'VoteTrump', u'TRUMP', u'MAGA', u'MAGA', u'TRUMP', u'SundayMorning', u'Vote4Hillary', u'VoteTrump', u'DOJ', u'PodestaEmails32', u'wikileaks', u'MAGA', u'tcot', u'pjnet', u'p2', u'ccot', u'Michigan', u'TrumpPence16', u'AmericaFirst', u'MAGA', u'Economy', u'CrookedHillary', u'DrainTheSwamp', u'DaylightSavingTime', u'Benghazi', u'SundayMorning', u'wikileaks', u'CrookedHillary', u'MeetThePress', u'thisweek', u'CNNSOTU', u'InsidePolitics', u'Election2016', u'PodestaEmails33', u'TrumpPence16', u'MAGA3X', u'VarneyCo', u'Election2016', u'TwoMoreDays', u'PodestaEmails', u'PodestaEmails32', u'HillaryClinton', u'imWithHer', u'MeetThePress', u'SundayMorning', u'Trump', u'HillaryClinton', u'podestaemails33', u'Podesta', u'DaylightSavingTime', u'SpiritCooking', u'Wikileaks', u'TrumpPence16', u'trump', u'TRUMP', u'maga3x', u'NeverHillary', u'DrainTheSwamp', u'CrookedHillary', u'PayToPlay', u'FoxLDT', u'DrainTheSwamp', u'MAGA', u'FoxLDT', u'TrumpPence16', u'WakeUp', u'Blacks', u'Hillary', u'DNCLEAKS2', u'Wikileaks', u'Election2016', u'AmericaFirst', u'WakeUpAmerica', u'UndecidedVoter', u'Millennial', u'Millennials', u'DNCleak', u'DNCLeaks', u'DNCLeak2', u'PayToPlay', u'DNC', u'birdogging', u'DNCLeak2', u'WikiLeaks', u'JamesComey', u'HillaryClinton', u'NotAboveTheLaw', u'FBI', u'DOJ', u'Hillary', u'NeverHillary', u'Corruption', u'MAGA', u'PodestaEmails32', u'VoteTrump', u'Hillary', u'FBI', u'MAGA3X', u'WhyImVotingTrump', u'NeverHillary', u'MAGA3X', u'BREAKING', u'Clintons', u'VinceFoster', u'MAGA', u'p2', u'Hillary', u'TrumpPence16', u'MAGA', u'DNCLeaks2', u'ElectionFinalThoughts', u'MAGA', u'WhatAboutMeSong', u'NeverHillary', u'draintheswamp', u'FBI', u'WomenforTrump', u'Nevada', u'RejectHillary', u'Nov8th', u'StopCorruption', u'OnlyYouCanPreventHillaryCorruptClinton', u'Benghazi', u'Hillary', u'MAGA', u'MAGA', u'TrumPence16Landslide', u'JudgeJeanine', u'CNN', u'DOBBS', u'NBC', u'CBS', u'ABC', u'TrumpTrain', u'ElectionFinalThoughts', u'MAGA', u'WakeUpAmerica', u'PJNET', u'tcot', u'ccot', u'MAGA', u'NeverTrump', u'wikileaks', u'CrookedHillary', u'Periscope', u'Trump', u'LouisFarrakhan', u'Hillary', u'Crookedmedia', u'dncleak2', u'dncleaks2', u'ElectionFinalThoughts', u'VoteTrump', u'ElectionDay', u'ElectionFinalThoughts', u'Hillary', u'MakeMyDay', u'Vote', u'Trump', u'Mexican', u'vote', u'Hillary', u'Election2016', u'VoterFraud', u'votetrump', u'NeverHillary', u'DrainTheSwamp', u'Election2016', u'BenGarrison', u'cartoon', u'StayTooned', u'VoteTrumpSaveAmerica', u'NotAboveTheLaw', u'FBI', u'Hillary', u'FBI', u'Election2016', u'tcot', u'PJNET', u'MAGA', u'Catholics', u'Catholic', u'Evangelicals', u'CrookedHillary', u'GOTVforTrump', u'TrumpPence16', u'Collusion', u'FBI', u'Hillary', u'Clinton', u'CNN', u'MAGASELFIE', u'VoteTrumpPence16', u'draintheswamp', u'PodestaEmails31', u'PodestaEmails32', u'ImWithHer', u'TrumpIsTheHeartBeatOfAmerica', u'ThePeoplePresident', u'Nov8th', u'election2016', u'VotersLoveTrump2016', u'Patriot', u'MilitaryMonday', u'NRA', u'LockHerUp', u'RT', u'ElectionFinalThoughts', u'VoteHillary', u'IRS', u'TeaParty', u'MAGA', u'PJNET', u'LatinosWithTrump', u'MakeAmericaGreatAgain', u'MAGA', u'TrumpPence16', u'MAGA', u'ImVotingBecause', u'TPP', u'Benghazi', u'MAGA', u'PJNET', u'Hillary', u'ImVotingBecause', u'MAGASelfie', u'MAGA', u'PinkTheVote', u'TRUMP_VOTERS', u'TrumpPence16', u'TrumpForPresident', u'PodestaEmails33', u'VIRAL', u'GeorgeSoros', u'VotingMachines', u'MAGA', u'MSM', u'DemExit', u'NV', u'TrumpPence16', u'TrumpPence16', u'MAGA', u'VoteTrump', u'Corruption', u'MAGA', u'Election2016', u'MAGA', u'PodestaEmails34', u'NeverHillary', u'MyVote2016', u'Trump', u'ImVotingBecause', u'CrookedHillary', u'draintheswamp', u'Election2016', u'ImVotingBecause', u'Obamacare', u'ImVotingBecause', u'Election2016', u'ElectionNight', u'ImVotingBecause', u'Trump', u'MAGAX3', u'PodestaEmails', u'Election2016', u'VoteTrump', u'HillaryClinton', u'Hillary', u'trump', u'njfortrump', u'tcot', u'ccot', u'gop', u'MAGA', u'PJNET', u'Hillary', u'Clinton', u'FoxNews', u'NBCNews', u'CBSNews', u'Reuters', u'Bernie', u'Sanders', u'MSNBC', u'Trump', u'Bloomberg', u'ElectionDay', u'Trump2016', u'Florida', u'Trump', u'Reuters', u'ImVotingBecause', u'Hillary', u'ImVotingBecause', u'OBAMA', u'HILLARY', u'FIGHTTerrorism', u'realdonaldtrump', u'MAGA', u'DrainTheSwamp', u'Election2016', u'MAGA3X', u'Trumpathon', u'TrumpLandslide', u'ImVotingBecause', u'Hillary', u'Islamists', u'Christianity', u'MAGA', u'Ballotselfie', u'DRAINTHESWAMP', u'VoteTrump', u'MakeAmericaGreatAgain', u'Vote', u'VoteTrump', u'Trump', u'TrumpsArmy', u'MAGA', u'WhenWillPeopleWakeUp', u'HillaryClinton', u'Periscope', u'MAGA', u'PodestaEmails35', u'CrookedHillary', u'POTUS', u'ElectionDay', u'voted', u'ObamaDay', u'MakeAmericaGreatAgain', u'maga', u'MAGA', u'Hillary', u'MAGA', u'ElectionDay', u'MAGA', u'Trump2016', u'Trump2016', u'Trump2016', u'IVoteTrump', u'YesWeCan', u'SaveSCOTUS', u'DrainTheSwamp', u'TrumpTheVote', u'MAGA3X', u'ElectionDay', u'MAGA3X', u'Students', u'StudentsForTrump', u'StudentsVote', u'StudentsFirst', u'MakeAmericaGreatAgain', u'MAGA', u'Vote', u'Election', u'MakeAmericaGreatAgain', u'MAGA', u'MAGA', u'TRUMP', u'MAGA3X', u'MAGA', u'NeverHillary', u'MAGA', u'TRUMP', u'MAKEAMERICAGREATAGAIN', u'clinton', u'PresidentTrump', u'wikileaks', u'assange', u'deplorables', u'LockHerUp', u'LockHerUp', u'PresidentTrump', u'MAGA', u'ElectionNight', u'Benghazi', u'PJNET', u'TheMorningAfter', u'tcot', u'MAGA', u'MAGA3X', u'tcot', u'HaitiHillary', u'tcot', u'PodestaEmails', u'PodestaEmails35', u'HillaryClinton', u'imWithHer', u'Hillary', u'MAGA', u'draintheswamp', u'StopTheRadicals', u'HillaryClinton', u'MAGA2016', u'PresidentTrump', u'CrookedMedia', u'MAGA3X', u'AmericaSaved', u'Trump', u'Texas', u'LoveTumpsHate', u'YOUSA', u'MAGA', u'Trump', u'AndrewBreitbart', u'MakeAmericaGreatAgain', u'ThursdayThoughts', u'MAGA', u'tcot', u'p2', u'MAGA', u'NeverTrump', u'NeverTrump', u'MAGA', u'Fascist', u'CrookedMedia', u'MAGA', u'NeverTrump', u'Protesters', u'TrumpPresident', u'ThursdayThought', u'Trumplandslide', u'MAGA', u'PartnersInCrime', u'Obama', u'UnindictedFelon', u'Hillary', u'SorosRentAMob', u'information', u'liberals', u'NewBalance', u'Trump', u'NRA', u'MAGA', u'NeverHillary', u'MAGAx3', u'PresidentTrump', u'TrumpPence16', u'Monsanto', u'MAGA', u'MAGA', u'PJNET', u'Hillary', u'Clinton', u'tcot', u'pjnet', u'p2']
[u'http://townhall.com/tipsheet/mattvespa/2016/10/31/ms-moneybags-huma-abedin-was-drawing-three-paychecks-from-state-the-foundation-and-clintonaffiliated-consulting-firm-n2238864', u'https://twitter.com/i/web/status/793239992097210368', u'https://twitter.com/i/web/status/793215319632338944', u'http://silenceisconsent.net/huma-abedin-muslim-brotherhood-ties-forwarded-classified-national-security-information-personal-accounts/', u'http://silenceisconsent.net/huma-abedin-muslim-brotherhood-ties-forwarded-classified-national-security-information-personal-accounts/', u'http://100percentfedup.com/hillarys-1-aide-huma-abedin-ties-terrorists-911-funders-video/', u'https://twitter.com/i/web/status/793235982527102976', u'https://goo.gl/GcPiau', u'https://goo.gl/GcPiau', u'https://twitter.com/i/web/status/793456523028537345', u'https://twitter.com/i/web/status/793456774288375808', u'http://buff.ly/1XPzKV8', u'http://buff.ly/1XPzKV8', u'http://www.mrctv.org/blog/breaking-video-exposes-dncs-plan-use-women-against-trump-supporters', u'http://www.mrctv.org/blog/breaking-video-exposes-dncs-plan-use-women-against-trump-supporters', u'https://twitter.com/i/web/status/788866352178163712', u'https://twitter.com/i/web/status/793191438188097537', u'https://twitter.com/i/web/status/793473224717766656', u'http://truthfeed.com/video-trump-takes-michigan-by-storm-two-yuge-rallies-in-one-amazing-day/33181/', u'https://twitter.com/910728050/status/793482345093275648', u'https://twitter.com/910728050/status/793482345093275648', u'https://twitter.com/i/web/status/793483691808821248', u'https://twitter.com/738721186826178563/status/793484211092992001', u'https://twitter.com/738721186826178563/status/793484211092992001', u'https://twitter.com/angela_merkel_1/status/793483949481746432', u'https://twitter.com/i/web/status/793500080166666240', u'https://twitter.com/i/web/status/793478477412524039', u'http://conservativetribune.com/breaking-cnn-busted-trying-to-frame-trump/?utm_source=Twitter&utm_medium=PostSideSharingButtons&utm_content=2016-11-01&utm_campaign=websitesharingbuttons', u'http://conservativetribune.com/breaking-cnn-busted-trying-to-frame-trump/?utm_source=Twitter&utm_medium=PostSideSharingButtons&utm_content=2016-11-01&utm_campaign=websitesharingbuttons', u'https://twitter.com/i/web/status/793461428783022081', u'https://twitter.com/i/web/status/793423689878478848', u'https://theconservativetreehouse.com/2016/10/17/stunning-corruption-explosive-okeefe-video-being-blocked-by-fearful-corporate-media/', u'https://twitter.com/i/web/status/793534440995717124', u'https://twitter.com/jamesokeefeiii/status/792085293163749376', u'https://twitter.com/i/web/status/793555469293846528', u'https://twitter.com/i/web/status/793577594956288000', u'https://twitter.com/i/web/status/793582228018257920', u'http://www.infowars.com/is-wikileaks-about-to-release-hillarys-33000-deleted-emails/', u'https://twitter.com/i/web/status/791461718916489216', u'http://therightscoop.com/krauthammer-hillary-drowning-desperate/', u'http://fw.to/WtRbuTN', u'http://fw.to/WtRbuTN', u'https://twitter.com/789899528065454080/status/793618575424708608', u'https://twitter.com/789899528065454080/status/793618575424708608', u'http://bit.ly/2cyAsbm', u'http://bit.ly/2cyAsbm', u'https://twitter.com/i/web/status/793620503265148928', u'https://www.youtube.com/shared?ci=1pOAsPrjeFM', u'https://www.youtube.com/shared?ci=1pOAsPrjeFM', u'http://www.breitbart.com/big-government/2016/11/01/texas-senator-ted-cruz-urges-conservative-vote-straight-republican-ticket/', u'http://www.breitbart.com/big-government/2016/11/01/texas-senator-ted-cruz-urges-conservative-vote-straight-republican-ticket/', u'http://www.washingtontimes.com/news/2016/nov/1/wikileaks-emails-reveal-john-podesta-urging-hillar/', u'http://www.washingtontimes.com/news/2016/nov/1/wikileaks-emails-reveal-john-podesta-urging-hillar/', u'https://twitter.com/264127028/status/793722235274027008', u'https://twitter.com/264127028/status/793722235274027008', u'http://bit.ly/29TBee0', u'http://bit.ly/29TBee0', u'https://twitter.com/36316589/status/793720849945784320', u'https://twitter.com/36316589/status/793720849945784320', u'https://twitter.com/nixon_szn/status/793590234424324097', u'https://twitter.com/nixon_szn/status/793590234424324097', u'https://wikileaks.org/podesta-emails/emailid/41841', u'https://twitter.com/i/web/status/793449152369885185', u'https://twitter.com/i/web/status/793716487974326272', u'https://twitter.com/i/web/status/793661690135076864', u'https://twitter.com/Darren32895836/status/793607478994796544', u'https://twitter.com/Darren32895836/status/793607478994796544', u'http://snpy.tv/2ejomDs', u'http://bit.ly/2eA70TV', u'http://bit.ly/2eA70TV', u'https://sputniknews.com/us/201611021046973468-craig-murray-dnc-podesta/', u'http://bit.ly/2eRmHph', u'http://bit.ly/2eRmHph', u'https://twitter.com/MarkAWebster1/status/793341886203305984/photo/1', u'https://wikileaks.org/podesta-emails/emailid/42806', u'https://wikileaks.org/podesta-emails/emailid/42806', u'https://twitter.com/i/web/status/793810383853195264', u'https://twitter.com/i/web/status/793675677346041856', u'http://www.lifezette.com/polizette/democrats-media-nevertrump-have-national-panic-attack/', u'https://twitter.com/i/web/status/793685256532557824', u'https://twitter.com/i/web/status/793826734529400833', u'https://twitter.com/382910487/status/793835238132559872', u'https://twitter.com/382910487/status/793835238132559872', u'http://bit.ly/259QLBx', u'http://bit.ly/259QLBx', u'https://twitter.com/i/web/status/793852161981423616', u'http://www.dailymail.co.uk/news/article-3893584/We-running-like-20-points-Clinton-campaign-manager-says-poll-shows-Hillary-Donald-virtual-tie.html?ito=social-twitter_dailymailus#ixzz4OnY8w8vV', u'https://twitter.com/i/web/status/793858484731273216', u'https://twitter.com/StocksAlotTEMP/status/793850557660291073', u'https://twitter.com/i/web/status/793859724609458176', u'https://twitter.com/i/web/status/793836344417988608', u'https://twitter.com/i/web/status/793854542139891713', u'https://twitter.com/i/web/status/793866439774113792', u'https://twitter.com/i/web/status/793873705919254529', u'https://vault.fbi.gov/vincent-foster', u'https://twitter.com/magnifier661/status/793864738115424256/video/1', u'https://www.conservativeoutfitters.com/blogs/news/92961857-john-kasich-took-202-700-from-george-soros', u'https://www.conservativeoutfitters.com/blogs/news/92961857-john-kasich-took-202-700-from-george-soros', u'https://twitter.com/JrcheneyJohn/status/768566474206085120', u'https://twitter.com/JrcheneyJohn/status/768566474206085120', u'https://twitter.com/realalexjones/status/793543167219863552', u'https://twitter.com/realalexjones/status/793543167219863552', u'https://twitter.com/i/web/status/793930883485024256', u'https://twitter.com/i/web/status/793426152178192384', u'https://twitter.com/i/web/status/793731921813569536', u'https://twitter.com/PrisonPlanet/status/793955639571738628', u'https://www.youtube.com/shared?ci=ZyOOd3Z0mQw', u'https://www.youtube.com/shared?ci=ZyOOd3Z0mQw', u'https://twitter.com/i/web/status/793927442557566976', u'https://twitter.com/PatDollard/status/793987471210086401', u'https://twitter.com/PatDollard/status/793987471210086401', u'https://twitter.com/i/web/status/793980624189079556', u'https://twitter.com/joeyyeo13/status/793997773871775745', u'https://twitter.com/i/web/status/794007275564396544', u'https://twitter.com/i/web/status/793925630391967748', u'https://twitter.com/i/web/status/793941758556008448', u'https://twitter.com/johnnydollar01/status/793999216817401858', u'https://twitter.com/i/web/status/794103579565064192', u'https://twitter.com/Aza_Roth/status/794039527039967232', u'https://twitter.com/Aza_Roth/status/794039527039967232', u'https://twitter.com/i/web/status/794011476235341825', u'http://www.thegatewaypundit.com/2016/11/wikileaks-bombshellkadzik-podesta-always-aspired-help-hillary-campaign/', u'http://www.thegatewaypundit.com/2016/11/wikileaks-bombshellkadzik-podesta-always-aspired-help-hillary-campaign/', u'https://twitter.com/i/web/status/794202279503134722', u'https://twitter.com/i/web/status/794230236309114880', u'https://twitter.com/TheDCVince/status/793994461160341505', u'https://twitter.com/TheDCVince/status/793994461160341505', u'https://twitter.com/pmbasse/status/794226025626406912', u'https://twitter.com/pmbasse/status/794226025626406912', u'http://m.townhall.com/columnists/michellemalkin/2016/11/02/a-fifth-clinton-presidency-hill-no-n2240338', u'http://fxn.ws/2eDBhO0', u'http://fxn.ws/2eDBhO0', u'https://twitter.com/i/web/status/794230464009687040', u'https://twitter.com/i/web/status/794228221814407168', u'https://twitter.com/i/web/status/794240494276640768', u'http://www.infowars.com/breaking-damning-podesta-email-revealed/', u'http://www.infowars.com/breaking-damning-podesta-email-revealed/', u'https://twitter.com/i/web/status/794250802042810368', u'https://twitter.com/pnehlen/status/794249941816217600', u'https://twitter.com/pnehlen/status/794249941816217600', u'https://twitter.com/resisttyranny/status/666644713819230208', u'https://twitter.com/vivelafra/status/794058870389964800', u'https://twitter.com/vivelafra/status/794058870389964800', u'https://twitter.com/i/web/status/794250781805445121', u'http://gotnews.com/breaking-ex-apprentice-summerzervos-paid-500000-gloriaallred-accuse-trump-deal-went-others/', u'http://gotnews.com/breaking-ex-apprentice-summerzervos-paid-500000-gloriaallred-accuse-trump-deal-went-others/', u'https://www.rt.com/news/365299-assange-pilger-saudi-clinton/#.WBymYck7obk.twitter', u'https://www.rt.com/news/365299-assange-pilger-saudi-clinton/#.WBymYck7obk.twitter', u'https://twitter.com/i/web/status/794544850720976896', u'https://twitter.com/i/web/status/794559369048363008', u'https://twitter.com/i/web/status/794565593491873792', u'https://twitter.com/i/web/status/794474390175875072', u'https://twitter.com/i/web/status/794602487659556864', u'https://twitter.com/i/web/status/794600497542000640', u'https://twitter.com/i/web/status/794569538058813440', u'https://twitter.com/i/web/status/794603072148426752', u'http://ift.tt/2e9ifD3', u'http://projectveritas.com/report-voter-fraud-here/', u'http://projectveritas.com/report-voter-fraud-here/', u'https://twitter.com/i/web/status/794540226882535424', u'http://buff.ly/2fn4HAb', u'http://buff.ly/2fn4HAb', u'https://twitter.com/i/web/status/794607701724643328', u'http://bit.ly/2f1zwhp', u'http://bit.ly/2f1zwhp', u'https://twitter.com/i/web/status/794581697639682049', u'http://ift.tt/2fkvJt1', u'http://ift.tt/2fkvJt1', u'https://twitter.com/i/web/status/794576045886369793', u'http://dailym.ai/2fp8iO1', u'http://dailym.ai/2fp8iO1', u'https://twitter.com/Amir_Hali/status/794270883095445504', u'https://twitter.com/Amir_Hali/status/794270883095445504', u'https://twitter.com/i/web/status/794688251097391105', u'http://truthfeed.com/pay-to-play-hillarys-two-big-favors-for-morocco/33164/', u'http://truthfeed.com/pay-to-play-hillarys-two-big-favors-for-morocco/33164/', u'https://twitter.com/i/web/status/794639133809459200', u'https://twitter.com/i/web/status/794700869128351744', u'http://www.washingtontimes.com/news/2016/nov/1/wikileaks-emails-reveal-john-podesta-urging-hillar/', u'http://www.washingtontimes.com/news/2016/nov/1/wikileaks-emails-reveal-john-podesta-urging-hillar/', u'https://wikileaks.org/podesta-emails/emailid/46882', u'https://wikileaks.org/podesta-emails/emailid/46882', u'https://twitter.com/i/web/status/794741317410508800', u'https://twitter.com/i/web/status/792131124717817856', u'https://twitter.com/i/web/status/794727293792948224', u'http://cbsloc.al/2eJv6Iq', u'https://twitter.com/i/web/status/794895387400216579', u'http://truthfeed.com/flashback-video-racist-video-surfaces-of-hillary-clinton-trashing-indians/33554/', u'https://twitter.com/i/web/status/794881084882354178', u'https://twitter.com/i/web/status/794523577747849217', u'https://twitter.com/crainsdetroit/status/794899321334415360', u'https://twitter.com/i/web/status/794902022524911616', u'https://twitter.com/i/web/status/794871971427315712', u'http://news.trust.org/item/20161105120322-oe170/', u'https://TrumpVoters.org', u'https://twitter.com/87693237/status/794911490927104000', u'https://TrumpVoters.org', u'https://twitter.com/87693237/status/794911490927104000', u'https://twitter.com/biasedgirl/status/794913472442236928', u'https://twitter.com/i/web/status/794872422008811520', u'https://twitter.com/i/web/status/794891958602895360', u'https://twitter.com/i/web/status/794851808598487041', u'http://bit.ly/2foXAa6', u'http://bit.ly/2foXAa6', u'https://twitter.com/i/web/status/794555542018494464', u'https://twitter.com/i/web/status/794931901769228288', u'http://www.westernjournalism.com/thepoint/2016/11/03/disgusting-wikileaks-revelation-exposes-benghazi-bombshell-nobody-saw-coming/?utm_source=Twitter&utm_medium=PostTopSharingButtons&utm_content=2016-11-05&utm_campaign=websitesharingbuttons', u'https://twitter.com/Lrihendry/status/794892363672014848', u'https://twitter.com/Lrihendry/status/794892363672014848', u'http://bit.ly/2flIMwO', u'http://bit.ly/2flIMwO', u'http://www.newsmax.com/TheWire/beyonce-formation-anti-police-divisive/2016/02/08/id/713269/', u'https://twitter.com/i/web/status/794934424387338241', u'https://twitter.com/i/web/status/794951318947254272', u'https://twitter.com/i/web/status/794949798403055616', u'http://www.youtube.com/watch?v=kwJZukmWpM0&sns=tw', u'https://twitter.com/i/web/status/794960579165376512', u'http://washex.am/2eK8yaD', u'https://twitter.com/brunelldonald/status/794529600147689472', u'https://twitter.com/brunelldonald/status/794529600147689472', u'https://twitter.com/US_Army_Vet/status/792795123994112000', u'https://twitter.com/US_Army_Vet/status/792795123994112000', u'https://twitter.com/i/web/status/791592513026990080', u'https://twitter.com/Cernovich/status/794694177015484416', u'https://twitter.com/Cernovich/status/794694177015484416', u'https://gotv.gop/', u'https://gotv.gop/', u'https://twitter.com/i/web/status/794992179076853760', u'http://silenceisconsent.net/breaking-news-clinton-cover-dismantled-anonymous-watch-now', u'http://silenceisconsent.net/breaking-news-clinton-cover-dismantled-anonymous-watch-now', u'https://twitter.com/i/web/status/794946591740170240', u'https://twitter.com/silenceconsent/status/794946591740170240', u'https://twitter.com/silenceconsent/status/794946591740170240', u'https://twitter.com/i/web/status/794876481931542533', u'https://twitter.com/i/web/status/794986250876788736', u'https://twitter.com/Sivport/status/794978375102124033', u'https://twitter.com/Sivport/status/794978375102124033', u'http://buff.ly/1Oajf6q', u'http://buff.ly/1Oajf6q', u'http://hotpagenews.com/r/162436', u'http://bit.ly/2eKdWKG', u'https://twitter.com/i/web/status/795007041702129664', u'https://twitter.com/i/web/status/795085297121980420', u'http://www.westernjournalism.com/trump-rushed-off-stage-amis-assassination-fears-returns-say/?utm_source=twitter&utm_medium=westjournalism', u'http://www.westernjournalism.com/trump-rushed-off-stage-amis-assassination-fears-returns-say/?utm_source=twitter&utm_medium=westjournalism', u'https://TrumpVoters.org', u'https://twitter.com/92848597/status/795125643981844480', u'https://TrumpVoters.org', u'https://twitter.com/92848597/status/795125643981844480', u'https://www.google.com/amp/nypost.com/2016/11/06/clinton-directed-her-maid-to-print-out-classified-materials/amp/?client=safari', u'https://www.google.com/amp/nypost.com/2016/11/06/clinton-directed-her-maid-to-print-out-classified-materials/amp/?client=safari', u'http://www.lifezette.com/polizette/trump-surge-freakout-anti-trump-violence-growing-rapidly/', u'https://twitter.com/_HankRearden/status/794942489652301829', u'https://twitter.com/_HankRearden/status/794942489652301829', u'http://truthfeed.com/why-a-hillary-presidency-is-communist-alinskys-dream-and-should-be-every-americans-worst-nightmare/34123/', u'http://ift.tt/1B27T6O', u'http://ift.tt/1B27T6O', u'http://uncova.com/breaking-trump-reno-disrupter-austyn-crites-name-shows-up-in-wikileaks-7-times#.WB8l32bXfVc.twitter', u'http://uncova.com/breaking-trump-reno-disrupter-austyn-crites-name-shows-up-in-wikileaks-7-times#.WB8l32bXfVc.twitter', u'https://www.youtube.com/watch?v=5IuJGHuIkzY', u'https://www.youtube.com/watch?v=5IuJGHuIkzY', u'https://twitter.com/i/web/status/795167463805714432', u'https://twitter.com/i/web/status/795009626940944384', u'https://twitter.com/i/web/status/795267679900827652', u'https://twitter.com/i/web/status/795018395431206913', u'https://twitter.com/i/web/status/795257727241121793', u'https://youtu.be/5wz_0utCrm0', u'https://youtu.be/5wz_0utCrm0', u'http://rsbn.tv/watch-donald-trump-rally-in-sterling-heights-mi-live-stream/', u'http://ow.ly/DvQA305TL6b', u'https://twitter.com/LogicalCampaign/status/794910681850003456/video/1', u'http://smq.tc/1YG47OE', u'http://smq.tc/1YG47OE', u'https://twitter.com/i/web/status/795263254310387716', u'https://twitter.com/i/web/status/795259487175184384', u'https://wikileaks.org/podesta-emails/?q=&mfrom=&mto=&title=&notitle=&date_from=&date_to=&nofrom=&noto=&count=50&sort=6#searchresult', u'https://twitter.com/i/web/status/795251893471768576', u'https://twitter.com/i/web/status/794996097370427392', u'https://twitter.com/i/web/status/795297923936333824', u'https://TrumpVoters.org', u'https://twitter.com/741738800225910784/status/795297326411776000', u'https://TrumpVoters.org', u'https://twitter.com/741738800225910784/status/795297326411776000', u'https://twitter.com/i/web/status/795320297654206465', u'https://twitter.com/i/web/status/795293274172854272', u'https://twitter.com/i/web/status/795351598331531268', u'https://twitter.com/i/web/status/795374483724869632', u'http://ln.is/truthfeed.com/video-/5NsHn', u'http://ln.is/truthfeed.com/video-/5NsHn', u'https://twitter.com/i/web/status/795398052160774144', u'https://twitter.com/DRUDGE_REPORT/status/795380152737746944', u'http://www.usatwentyfour.com/ice-cube-accuses-hillary-clinton-waging-war-black-people/', u'http://www.usatwentyfour.com/ice-cube-accuses-hillary-clinton-waging-war-black-people/', u'https://twitter.com/i/web/status/795515497638981632', u'https://twitter.com/i/web/status/786737594637750272', u'https://twitter.com/i/web/status/795456100082585600', u'http://fxn.ws/2fRQoYw', u'http://fxn.ws/2fRQoYw', u'https://twitter.com/i/web/status/795484433088266240', u'https://twitter.com/i/web/status/795385329855254529', u'https://twitter.com/i/web/status/795581086952804352', u'https://twitter.com/i/web/status/795431366762594304', u'https://twitter.com/i/web/status/795394824199438337', u'https://twitter.com/i/web/status/795500315206356992', u'https://twitter.com/i/web/status/795617153072435201', u'https://twitter.com/i/web/status/795614525491920896', u'http://www.youtube.com/watch?v=2_5b98GrlPE&sns=tw', u'https://twitter.com/i/web/status/795453074211041280', u'https://twitter.com/i/web/status/795436413592420354', u'https://twitter.com/i/web/status/790292123123851264', u'https://twitter.com/i/web/status/795654009176502272', u'http://bit.ly/1YG47OE', u'http://bit.ly/1YG47OE', u'http://bit.ly/2eFBnXT', u'http://bit.ly/2eFBnXT', u'https://twitter.com/i/web/status/795684382598197248', u'http://truthfeed.com/election-eve-bombshell-wikileaks-reveals-analysts-at-intelligence-firm-believe-hillary-killed-vince-foster/34376/', u'http://truthfeed.com/video-donald-trumps-final-election-eve-message-and-video/34413/', u'https://twitter.com/i/web/status/795684782478790656', u'https://vine.co/v/i52QqQHTwB0', u'https://vine.co/v/i52QqQHTwB0', u'https://twitter.com/i/web/status/795690754358263809', u'https://twitter.com/emrutherford90/status/795653098844946433', u'https://twitter.com/emrutherford90/status/795653098844946433', u'https://twitter.com/i/web/status/795383213808087040', u'http://dailycaller.com/2016/11/07/rethinking-nevertrump-how-a-trump-presidency-could-result-in-limited-presidential-power/', u'http://dailycaller.com/2016/11/07/rethinking-nevertrump-how-a-trump-presidency-could-result-in-limited-presidential-power/', u'https://twitter.com/i/web/status/795282170021642240', u'https://www.pscp.tv/w/au-CKTFtTUVQcG9iUmVFR2J8MXZBR1JYYnlwWnl4bA1r0d6OZj5rDBIvd0wawk-5rucs4xgNOXw1sAo6fs5I', u'https://twitter.com/i/web/status/795724568681857026', u'https://twitter.com/wikileaks/status/795696999597281281', u'https://twitter.com/wikileaks/status/795696999597281281', u'https://twitter.com/i/web/status/795723944124817408', u'https://twitter.com/i/web/status/795674854133526529', u'https://www.youtube.com/watch?v=hggabHmAdxY&ab_channel=veritasvisuals', u'https://www.youtube.com/watch?v=hggabHmAdxY&ab_channel=veritasvisuals', u'https://twitter.com/i/web/status/795735127108120576', u'https://twitter.com/i/web/status/795628659478409216', u'http://bit.ly/2dDKRUn', u'http://bit.ly/2dDKRUn', u'https://twitter.com/PatDollard/status/795760515423338496', u'https://twitter.com/PatDollard/status/795760515423338496', u'https://twitter.com/i/web/status/795760562760138752', u'https://twitter.com/i/web/status/795629335956754432', u'http://jwatch.us/F3kvdY', u'https://twitter.com/barbmuenchen/status/795751650065530880', u'https://twitter.com/barbmuenchen/status/795751650065530880', u'http://bit.ly/2ffqwCx', u'http://bit.ly/2ffqwCx', u'https://twitter.com/i/web/status/795773763535171584', u'https://twitter.com/i/web/status/795775001911758848', u'http://alexanderhiggins.com/hillary-buying-votes-free-concert-tickets/', u'http://alexanderhiggins.com/hillary-buying-votes-free-concert-tickets/', u'https://twitter.com/i/web/status/795181820837056512', u'https://twitter.com/i/web/status/795779441855074304', u'https://twitter.com/i/web/status/795750951759904768', u'http://smq.tc/2fdy87x', u'http://smq.tc/2fdy87x', u'https://twitter.com/i/web/status/793951397012275200', u'https://twitter.com/i/web/status/795780635147137024', u'http://smq.tc/1YG47OE', u'http://smq.tc/1YG47OE', u'http://dlvr.it/MYCX3H', u'http://dlvr.it/MYCX3H', u'https://twitter.com/i/web/status/795804326199492608', u'https://twitter.com/Rockprincess818/status/795810315225034756', u'https://twitter.com/Rockprincess818/status/795810315225034756', u'https://twitter.com/i/web/status/795808787831484421', u'https://twitter.com/mflynnJR/status/795686311617294336', u'https://twitter.com/mflynnJR/status/795686311617294336', u'https://twitter.com/i/web/status/795804234671329280', u'https://twitter.com/i/web/status/795847876551311361', u'https://twitter.com/i/web/status/795832023621505024', u'https://twitter.com/i/web/status/795826933598539776', u'https://twitter.com/i/web/status/795868016194027520', u'http://rsbn.tv/watch-donald-j-trump-victory-party-in-new-york-city-live-stream/', u'http://rsbn.tv/watch-donald-j-trump-victory-party-in-new-york-city-live-stream/', u'https://wikileaks.org/podesta-emails/emailid/53056#efmABtADz', u'https://wikileaks.org/podesta-emails/emailid/53056#efmABtADz', u'https://twitter.com/i/web/status/795917767421489153', u'https://twitter.com/i/web/status/795879881095528448', u'http://bit.ly/2f3biQ7', u'http://bit.ly/2f3biQ7', u'https://twitter.com/i/web/status/795934910267662336', u'https://twitter.com/i/web/status/795879981167493120', u'http://truthfeed.com/video-20-year-old-first-time-florida-voter-wont-vote-for-a-crook-im-voting-trump/34313/', u'http://truthfeed.com/video-20-year-old-first-time-florida-voter-wont-vote-for-a-crook-im-voting-trump/34313/', u'https://twitter.com/i/web/status/795940222752223233', u'https://twitter.com/i/web/status/795906029863178240', u'https://twitter.com/i/web/status/795939827762036736', u'https://twitter.com/wikileaks/status/795948941611323392', u'https://twitter.com/wikileaks/status/795948941611323392', u'https://twitter.com/i/web/status/795837749177831424', u'https://twitter.com/i/web/status/795935864891252736', u'https://TrumpVoters.org', u'https://twitter.com/4898400250/status/795974528367292416', u'https://TrumpVoters.org', u'https://twitter.com/4898400250/status/795974528367292416', u'https://TrumpVoters.org', u'https://twitter.com/737101233995948032/status/795979632130531329', u'https://TrumpVoters.org', u'https://twitter.com/737101233995948032/status/795979632130531329', u'https://twitter.com/jcali56451/status/795945861024976896', u'https://twitter.com/jcali56451/status/795945861024976896', u'https://twitter.com/i/web/status/795998730935791616', u'https://twitter.com/i/web/status/795998208463773696', u'https://www.pscp.tv/w/au-0MDEyMzE3NDF8MXlvS01EQmFNYmx4UXtaU1dFdbs2hR83RLldPOOt9N_C3W-1tUxAlJep-jBY', u'https://twitter.com/i/web/status/796022654964822017', u'https://mobile.twitter.com/realVivaEuropa/status/795512504222892032?s=04', u'https://twitter.com/i/web/status/795999452662206468', u'http://townhall.com/columnists/thomassowell/2016/11/08/painful-choices-n2242931', u'https://twitter.com/i/web/status/796036922720260096', u'http://www.bit.ly/TrumpTheVote', u'http://www.bit.ly/TrumpTheVote', u'https://twitter.com/i/web/status/796048227355262976', u'http://truthfeed.com/france-party-leader-marine-le-pen-hillary-clinton-is-a-danger-to-world-peace/30507/', u'http://truthfeed.com/france-party-leader-marine-le-pen-hillary-clinton-is-a-danger-to-world-peace/30507/', u'https://twitter.com/i/web/status/796080963784679424', u'https://twitter.com/i/web/status/796113641707884544', u'https://twitter.com/i/web/status/796034038482010112', u'https://twitter.com/i/web/status/796113864513335296', u'https://twitter.com/i/web/status/796104767508344832', u'https://twitter.com/i/web/status/796089591560368128', u'https://twitter.com/TEN_GOP/status/796099607189131264', u'https://twitter.com/TEN_GOP/status/796099607189131264', u'https://twitter.com/i/web/status/796079612690309120', u'https://twitter.com/i/web/status/796260778525491200', u'https://twitter.com/accuracyinmedia/status/796369262210404352', u'https://twitter.com/i/web/status/796387504358363136', u'http://bit.ly/1InxDFq', u'http://bit.ly/1InxDFq', u'https://twitter.com/i/web/status/796432272123568128', u'http://www.breitbart.com/2016-presidential-race/2016/11/09/kellyanne-conway-first-woman-run-victorious-presidential-campaign/', u'http://buff.ly/2eLiGST', u'http://buff.ly/2eLiGST', u'https://twitter.com/i/web/status/794714494144487424', u'https://twitter.com/i/web/status/796493079632953344', u'https://wikileaks.org/podesta-emails/?q=&mfrom=&mto=&title=&notitle=&date_from=&date_to=&nofrom=&noto=&count=50&sort=6#searchresult', u'https://twitter.com/i/web/status/795994538250641408', u'http://www.infowars.com/soros-sponsored-social-justice-warriors-besiege-trump-tower/', u'https://twitter.com/i/web/status/795705508296622080', u'http://insider.foxnews.com/2016/11/10/giuliani-obama-should-not-pardon-hillary-let-system-decide-it', u'http://insider.foxnews.com/2016/11/10/giuliani-obama-should-not-pardon-hillary-let-system-decide-it', u'http://nyti.ms/2eESW7b', u'https://twitter.com/i/web/status/796722895103795200', u'https://twitter.com/DonaldJTrumpJr/status/796128780309983232', u'https://twitter.com/DonaldJTrumpJr/status/796128780309983232', u'http://www.redflagnews.com/headlines-2016/breaking-anti-trump-protests-erupt-around-country', u'http://DCWhispers.com', u'http://dcwhispers.com/alpha-man-returns-white-house-meek-obama-greets-victorious-trump/#qI5PH5ZxUJwFGLAP.99', u'http://DCWhispers.com', u'http://dcwhispers.com/alpha-man-returns-white-house-meek-obama-greets-victorious-trump/#qI5PH5ZxUJwFGLAP.99', u'https://twitter.com/i/web/status/796775131884363776', u'https://twitter.com/i/web/status/796755574386032641', u'http://thefederalistpapers.org/us/leaked-email-shows-hillarys-team-bashing-an-entire-religion-media-silent', u'http://thefederalistpapers.org/us/leaked-email-shows-hillarys-team-bashing-an-entire-religion-media-silent', u'https://twitter.com/carminezozzora/status/796831637170360320', u'https://twitter.com/_santa_barbara/status/796764982884995072', u'https://twitter.com/_santa_barbara/status/796764982884995072', u'https://twitter.com/i/web/status/796524210478837761', u'http://dailycaller.com/2016/11/10/republicans-dominated-the-senate-races-except-the-ones-who-dumped-trump/', u'https://twitter.com/i/web/status/796872511535403008', u'http://bit.ly/2eGgnNp', u'http://bit.ly/2eGgnNp', u'https://twitter.com/i/web/status/796891700530708480', u'http://truthfeed.com/video-tomi-lahrens-final-thoughts-on-the-election-america-stood-up-to-the-elites/34927/', u'http://truthfeed.com/video-tomi-lahrens-final-thoughts-on-the-election-america-stood-up-to-the-elites/34927/', u'https://twitter.com/i/web/status/796798910421405700', u'https://twitter.com/i/web/status/796824378369576961', u'https://twitter.com/i/web/status/796307911072972804', u'https://twitter.com/trumpy17/status/796945017591971840', u'http://conservativefiringline.com/low-infos-burn-shoes-thought-new-balance-endorsed-trump/', u'http://conservativefiringline.com/low-infos-burn-shoes-thought-new-balance-endorsed-trump/', u'https://amp.twimg.com/v/b22012de-d5b4-4b85-8e06-e4a1d47a7be0', u'https://twitter.com/peaceandjoy101/status/797115974352781312', u'https://goo.gl/JoFNJg', u'https://goo.gl/JoFNJg', u'http://dlvr.it/MYCX3H', u'http://dlvr.it/MYCX3H', u'https://twitter.com/thehill/status/797146157784989697', u'https://twitter.com/thehill/status/797146157784989697', u'http://bit.ly/2fJ4fOb', u'http://bit.ly/2fJ4fOb', u'https://pjmedia.com/jchristianadams/2016/11/07/leaked-documents-reveal-expansive-soros-funding-to-manipulate-federal-elections/', u'https://twitter.com/i/web/status/797172848456503296']

Methods for identifying echo chambers from communities.


In [70]:
# The variable, commune, in this notebook is a dictionary mapping community ID to a community.
# So, we create a new variable: communities.  This will be the input to each of our functions below.
communities = [communes[key] for key in communes]

Method 1: Random!


In [73]:
# Input: a list of communities, where each community is a list of node IDs in a graph.
# Output: a list of k echo chambers, where each echo chamber is a list of node IDs in a graph.
def get_k_random_echo_chambers(communities, k):
    return random.sample(communities, k)

random_echo_chambers = get_k_random_echo_chambers(communities, 2)
# print random_echo_chambers

Method 2: Hashtag concentration


In [77]:
def num_tweets_and_hashtags_and_urls(community):
    c, h, u = get_community_content_and_hashtags_and_urls(community)
    return len(set(c)), len(set(h)), len(set(u))

def get_hashtag_concentrations(communities):
    community_and_num_hashtags = []
    for community in communities:
        num_tweets, num_hashtags, _ = num_tweets_and_hashtags_and_urls(community)
        community_and_num_hashtags.append((num_tweets / float(num_hashtags), community))
    return community_and_num_hashtags

print sorted([hc[0] for hc in get_hashtag_concentrations(communities)], reverse=True)

def get_k_echo_chambers_based_on_hashtag_concentrations(communities, k):
    community_and_num_hashtags = get_hashtag_concentrations(communities)
    community_and_num_hashtags = sorted(community_and_num_hashtags, reverse=True)
    return [community_and_num_hashtags[i][1] for i in range(k)]

hashtag_concentration_echo_chambers = get_k_echo_chambers_based_on_hashtag_concentrations(communities, 2)
# print hashtag_concentration_echo_chambers


[8.0, 3.650378787878788, 2.9568221070811744, 2.3636363636363638, 2.3421052631578947, 2.1043478260869564, 2.073170731707317, 2.0, 1.6666666666666667, 1.5925925925925926, 1.5909090909090908, 1.5, 1.4604810996563573, 1.4528301886792452, 1.4107142857142858, 1.3448275862068966, 1.2857142857142858, 1.2, 1.174563591022444, 1.054054054054054, 1.0416666666666667, 1.037037037037037, 1.0, 0.9536082474226805, 0.9375, 0.9, 0.8830409356725146, 0.828125, 0.8269230769230769, 0.7704918032786885, 0.7317073170731707, 0.65625]

Method 3: URL concentration


In [79]:
def get_url_concentrations(communities):
    community_and_num_urls = []
    for community in communities:
        num_tweets, _, num_urls = num_tweets_and_hashtags_and_urls(community)
        community_and_num_urls.append((num_tweets / float(num_urls), community))
    return community_and_num_urls

print sorted([uc[0] for uc in get_url_concentrations(communities)], reverse=True)

def get_k_echo_chambers_based_on_url_concentrations(communities, k):
    community_and_num_urls = get_url_concentrations(communities)
    community_and_num_urls = sorted(community_and_num_urls, reverse=True)
    return [community_and_num_urls[i][1] for i in range(k)]

url_concentration_echo_chambers = get_k_echo_chambers_based_on_url_concentrations(communities, 2)
# print url_concentration_echo_chambers


[12.0, 5.0, 5.0, 3.5, 3.08, 3.0, 2.727272727272727, 2.6666666666666665, 2.574468085106383, 2.5294117647058822, 2.4347826086956523, 2.4, 2.2941176470588234, 2.1875, 2.1869158878504673, 2.1818181818181817, 2.1264367816091956, 2.125, 2.076923076923077, 2.0084745762711864, 2.0, 1.816326530612245, 1.7407407407407407, 1.6398467432950192, 1.6236559139784945, 1.5292207792207793, 1.500856564398069, 1.5, 1.4447391688770999, 1.3578274760383386, 1.25, 1.0816326530612246]

Appendix


In [30]:
NIdColorH = snap.TIntStrH()
NIdColorH[0] = "green"
NIdColorH[1] = "red"
NIdColorH[2] = "purple"
NIdColorH[3] = "blue"
NIdColorH[4] = "yellow"
# snap.DrawGViz(G, snap.gvlSfdp, "network.png", "twitter graph", True, NIdColorH)
snap.DrawGViz(G, "Graph3.dot", "Directed Random Network with Attributes", True, H)


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-30-66a39007aa64> in <module>()
      6 NIdColorH[4] = "yellow"
      7 # snap.DrawGViz(G, snap.gvlSfdp, "network.png", "twitter graph", True, NIdColorH)
----> 8 snap.DrawGViz(G, "Graph3.dot", "Directed Random Network with Attributes", True, H)

NameError: name 'H' is not defined

In [ ]:
def get_regulars(G, node, threshold):
    nbrs = []
    for v in G.GetNI(node).GetInEdges():
        nbrs.append(v)
    for v in G.GetNI(node).GetOutEdges():
        print v
        nbrs.append(v)
    nbrs_dict = Counter(nbrs)
    return [key for key in nbrs_dict if nbrs_dict[key] >= threshold]

In [ ]:
# calculate modularity score among people who tweet to a certain hotshot

def get_modularity(G, node):
    nodes1, nodes2 = snap.TIntV(), snap.TIntV()
    rand1, rand2 = snap.TIntV(), snap.TIntV()
    all_nodes = [n.GetId() for n in G.Nodes()]
    regulars1 = get_regulars(G, node, 1)
    regulars2 = get_regulars(G, node, 2)
    print len(regulars1), len(regulars2)
    for node in regulars1:
        nodes1.Add(node)
        rand1.Add(random.sample(all_nodes, 1)[0])
    for node in regulars2:
        nodes2.Add(node)
        rand2.Add(random.sample(all_nodes, 1)[0])
        
    print snap.GetModularity(G, nodes1), snap.GetModularity(G, rand1)
    print snap.GetModularity(G, nodes2), snap.GetModularity(G, rand2)
    
for node in celebs[:10]:
    get_modularity(G, node)

# this seems to be anti-modular, as the results are negative
# people who tweet to the same hotshot are actually less likely to tweet to each other