예제 #1
0
 def run(self):
     global results
     while True:
         user = self.queue.get()
         try:
             results.append(EvalUser.load(user))
         except Exception:
             traceback.print_exc(sys.stderr)
         self.queue.task_done()
예제 #2
0
 def run(self):
     global results
     while True:
         user = self.queue.get()
         try:
             results.append(EvalUser.load(user))
         except Exception:
             traceback.print_exc(sys.stderr)
         self.queue.task_done()
예제 #3
0
def getUsersToFollow(keyword, count=10, currentFriends=[]):
    twitterApi = APISingleton.getInstance()

    users = twitterApi.search_users(q=keyword, per_page=random.randint(20, 200), page=random.randint(1,10))
    results = []
    goodResults = []
    for u in users:
        try:
            eUser = EvalUser.load(u)
            results.append(eUser)
            results += eUser.BFS(100, random_walk=True)
            goodResults = [u for u in results if u.getImpactFactor()*u.getRetweetFactor() > 0.05 and u.getUserObj().id not in currentFriends]
            print "Keyword=",keyword, "GoodResults#=",len(goodResults)
            if len(goodResults) > count:
                return goodResults
        except Exception:
            traceback.print_exc(sys.stdout)
            pass
    return goodResults
예제 #4
0
    tweets = twitterApi.search(q=sys.argv[1].lower(),
                               rpp=100,
                               page=1,
                               force=True)
    tweets = [t.text for t in tweets]
    tfidfArray = getTFIDFArray(tweets)

    db = DBSingleton.getInstance()
    cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
    cur.execute(
        "select * from users where  retweet_factor > 0.2 and impact_factor > 0.2 limit 1000;"
    )

    results = []
    for row in cur:
        try:
            eUser = EvalUser.loadFromDBRow(row)
            if eUser.getSim(tfidfArray) > 0:
                results.append(eUser)
        except Exception, e:
            traceback.print_exc(sys.stdout)
            pass

    results.sort()
    results.reverse()

    jsonDic = []
    for user in results[:40]:
        jsonDic.append(user.getData())
    print simplejson.dumps(jsonDic)
예제 #5
0
                file = l[-1].replace("'", "").replace(".lock", "")
                print file
                os.remove(file) """
            raise e


if __name__ == "__main__":
    while 1:
        try:
            twitterApi = APISingleton.getInstance()
            #ids = [random.randint(1, 100000000) for i in range(100)]
            users = [i.user for i in twitterApi.public_timeline(nocache=True)]
            friends = users[random.randint(0, len(users))].all_friend_ids()
            ids = random.sample(friends, min(len(friends), 100))

            us = handle_func(twitterApi.lookup_users, user_ids=ids)
            print len(us)
            for u in us:
                EvalUser.load(u)
                for fId in twitterApi.friends_ids(user_id=u.id)[0]:
                    print "fid: ", fId
                    try:
                        EvalUser.loadFromDB(fId)
                    except Exception, e:
                        handle_exception(e)
                        print e
        except Exception, e:
            handle_exception(e)
            #print traceback.print_exc(sys.stderr)
            print e
예제 #6
0
                l = str(e).split()
                file = l[-1].replace("'", "").replace(".lock", "")
                print file
                os.remove(file) """
            raise e

if __name__ == "__main__":
    while 1:
        try:
            twitterApi = APISingleton.getInstance() 
            #ids = [random.randint(1, 100000000) for i in range(100)]
            users = [i.user for i in twitterApi.public_timeline(nocache=True)]
            friends = users[random.randint(0, len(users))].all_friend_ids()
            ids = random.sample(friends, min(len(friends), 100))
            
            us = handle_func(twitterApi.lookup_users, user_ids=ids)
            print len(us)
            for u in us:
                EvalUser.load(u)
                for fId in twitterApi.friends_ids(user_id=u.id)[0]:
                    print "fid: ",fId
                    try:
                        EvalUser.loadFromDB(fId)
                    except Exception,e:
                        handle_exception(e)
                        print e
        except Exception, e:
            handle_exception(e)
            #print traceback.print_exc(sys.stderr)
            print e
예제 #7
0
import sys
import traceback
sys.path.append("../lib/")
import simplejson

from tweeapi import APISingleton
from tweeapi.utils import EvalUser

if __name__ == "__main__":

    twitterApi = APISingleton.getInstance()

    users = twitterApi.search_users(q=sys.argv[1], per_page=200)
    results = []
    for u in users[:]:
        try:
            eUser = EvalUser.load(u)
            results.append(eUser)
            results += eUser.BFS(10)
        except Exception,e:
            traceback.print_exc(sys.stdout)
            pass
    results.sort()
    results.reverse()
    
    jsonDic = []
    for user in results:
        jsonDic.append(user.getData())
    print simplejson.dumps(jsonDic)
예제 #8
0
if __name__ == "__main__":

    twitterApi = APISingleton.getInstance()

    tweets = twitterApi.search(q=sys.argv[1].lower(), rpp=100, page=1, force=True)
    tweets = [t.text for t in tweets]
    tfidfArray = getTFIDFArray(tweets)
    
    db = DBSingleton.getInstance()
    cur = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
    cur.execute("select * from users where  retweet_factor > 0.2 and impact_factor > 0.2 limit 1000;")
    
    results = []
    for row in cur:
        try:
            eUser = EvalUser.loadFromDBRow(row)
            if eUser.getSim(tfidfArray) > 0:
                results.append(eUser)
        except Exception,e:
            traceback.print_exc(sys.stdout)
            pass
    
    results.sort()
    results.reverse()
    
    jsonDic = []
    for user in results[:40]:
        jsonDic.append(user.getData())
    print simplejson.dumps(jsonDic)