client = KafkaClient("localhost:9092")
producer = SimpleProducer(client)
consumer = SimpleConsumer(client, "text-Tweets", "my-topic")

    #this is Dillon Fancher's API key
    api = twitter.Api(consumer_key='G1ztnAQmyriiOqcyt9pGQ', consumer_secret='TzNhT5oCWMMU5eIk6E61bgSuXQ7qDHuYv5EbYwDKQ', access_token_key='572163554-le5J2mX0lb5IMOdAVPyAkxQ8M24UIMIyQMafqyur', access_token_secret='EB9xZBqfRVuga9tUsrqiP5qf5PHCsvsGrm3UkHz3nyZPc', cache=None)

    while(True):
	    statuses = api.GetStreamSample()
	    
        
	    #Iterate through all geolocated tweets
	    for obj in statuses:
		    if 'text' in obj and 'coordinates' in obj and 'lang' in obj and 'place' in obj:
			    place = obj['place']
			    if 	place != None and 'country_code' in place:
				    if obj['text'] != None and obj['coordinates'] != None and obj['place']['country_code'] == "US" and obj['lang'] == "en":
					    # Grab the user who created the tweet
					    # print "Username: %s" % (obj['user']['name'])
					    # Record the tweet
					    #print "Tweet: %s\nLocation: (%f, %f)\n" % (obj['text'],                                                obj['coordinates']['coordinates'][0], obj['coordinates']['coordinates'][1])
					    #db.TweetsGeo.update({'id' : obj['id']}, obj, True)
	                    producer.send_message('my-topic', obj)
					    continue
                        
        
        for message in consumer:
            print(message)
示例#2
0
    strat.run()
    stat = plt.plotjson()
    print stat
    return stat



if __name__ == '__main__':
    if not os.environ.has_key('DOCKER_HOST'):
        os.environ['DOCKER_HOST'] = "172.17.42.1"
    print "%s:9092" % os.environ['DOCKER_HOST'].strip('\n')
    client = KafkaClient("%s:9092" % os.environ['DOCKER_HOST'].strip('\n'))
    producer = SimpleProducer(client, async=False, req_acks=SimpleProducer.ACK_AFTER_LOCAL_WRITE, ack_timeout=2000)

    #向脚本传入参数
    start = int(sys.argv[1])
    end = int(sys.argv[2])
    code = sys.argv[3]
    sid = sys.argv[4]

    args = {'start': start, 'end':end, 'code':code, "sid":sid}

    Stat = algoparser(**args)

    producer.send_message("plot", Stat)