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)
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)
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)
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)
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)
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)