예제 #1
0
def get_friends():
    # get friends
    friends_ids = []

    cursor = -1
    while cursor != 0:
        try:
            # get friends
            print "Get friends list: "+str(cursor)
            response = client.api.friends.ids.get()

            # update cursor
            cursor = response.data.next_cursor

            # collect ids from response
            friends_ids = friends_ids + response.data.ids

            # sleep between calls
            if ( cursor != 0 ) :
                interval = calc_interval(response.headers)
                print "Sleep "+str(interval)+" s"
                time.sleep(interval)

        except TwitterApiError, e:
            print "Exception: "+e._msg

            # set interval to 60 in case of error
            interval = 60
            print "Sleep "+str(interval)+" s"
            time.sleep(interval)
예제 #2
0
def get_followers():
    # get followers
    followers_ids = []

    cursor = -1
    while cursor != 0:
        try:
            # get followers
            print "Get followers list: " + str(cursor)
            response = client.api.followers.ids.get()

            # update cursor
            cursor = response.data.next_cursor

            # collect ids from response
            followers_ids = followers_ids + response.data.ids

            # sleep between calls
            if (cursor != 0):
                interval = calc_interval(response.headers)
                print "Sleep " + str(interval) + " s"
                time.sleep(interval)

        except TwitterApiError, e:
            print "Exception: " + e._msg

            # set interval to 60 in case of error
            interval = 60
            print "Sleep " + str(interval) + " s"
            time.sleep(interval)
예제 #3
0
results = []

# for each user
for record in ud.iter_rows():
    user_id = record.get(INPUT_COLUMN, None)
    if user_id is None or len(user_id) == 0:
        print "Empty user id, ignoring"
        continue

    print "Unfollow: %s" % user_id
    userdata = client.api.friendships.destroy.post( screen_name=user_id )

    # save results in output dataset
    o = {}
    o["row_dtime"] = datetime.datetime.today().strftime("%m/%d/%Y %H:%M:%S")
    o["screen_name"] = userdata.data.screen_name
    o["name"] = userdata.data.name
    results.append(o)

    # interval between calls
    interval = calc_interval(userdata.headers)
    print "Sleep "+str(interval)+" s"
    time.sleep(interval)

odf = pd.DataFrame(results)

if odf.size > 0:
    # Recipe outputs
    twitter_output = dataiku.Dataset(output_dataset_name)
    twitter_output.write_with_schema(odf)
예제 #4
0
        continue
    print "Follow user: "******"screen_name"] = user_id
    # follow user
    try:
        response = client.api.friendships.create.post(screen_name=user_id)
        print "Status: "+response.headers['Status']

        # save response status
        o["row_dtime"] = datetime.datetime.today().strftime("%m/%d/%Y %H:%M:%S")
        o["status"] = response.headers['Status']
        o["response_headers"] = response.headers
        o["response_data"] = json.dumps(response.data)

        interval = calc_interval(response.headers)
        print "Sleep "+str(interval)+" s"
        time.sleep(interval)

    except TwitterApiError, e:
        o["status"] = e._msg
        print "Exception: %s" % str(e)
    finally:
        results.append(o)


odf = pd.DataFrame(results)

if odf.size > 0:
    # Recipe outputs
    twitter_following_output = dataiku.Dataset(output_dataset_name)
예제 #5
0
    print "Follow user: "******"screen_name"] = user_id
    # follow user
    try:
        response = client.api.friendships.create.post(screen_name=user_id)
        print "Status: " + response.headers['Status']

        # save response status
        o["row_dtime"] = datetime.datetime.today().strftime(
            "%m/%d/%Y %H:%M:%S")
        o["status"] = response.headers['Status']
        o["response_headers"] = response.headers
        o["response_data"] = json.dumps(response.data)

        interval = calc_interval(response.headers)
        print "Sleep " + str(interval) + " s"
        time.sleep(interval)

    except TwitterApiError, e:
        o["status"] = e._msg
        print "Exception: %s" % str(e)
    finally:
        results.append(o)

odf = pd.DataFrame(results)

if odf.size > 0:
    # Recipe outputs
    twitter_following_output = dataiku.Dataset(output_dataset_name)
    twitter_following_output.write_with_schema(odf)
예제 #6
0
results = []

# for each user
for record in ud.iter_rows():
    user_id = record.get(INPUT_COLUMN, None)
    if user_id is None or len(user_id) == 0:
        print "Empty user id, ignoring"
        continue

    print "Unfollow: %s" % user_id
    userdata = client.api.friendships.destroy.post(screen_name=user_id)

    # save results in output dataset
    o = {}
    o["row_dtime"] = datetime.datetime.today().strftime("%m/%d/%Y %H:%M:%S")
    o["screen_name"] = userdata.data.screen_name
    o["name"] = userdata.data.name
    results.append(o)

    # interval between calls
    interval = calc_interval(userdata.headers)
    print "Sleep " + str(interval) + " s"
    time.sleep(interval)

odf = pd.DataFrame(results)

if odf.size > 0:
    # Recipe outputs
    twitter_output = dataiku.Dataset(output_dataset_name)
    twitter_output.write_with_schema(odf)