2016-10-12 9 views
0

私は1000以上のtwitterハンドルのリストを持っていて、twitteRの関数getUser()パッケージ。 しかし、約20回の成功が返された後、私は空のリストが渡されたというエラーを受け取ります。Rの中でtwitter APIからユーザーの詳細を複数回送信する方法を処理する方法エラーを返し、時折返される空のリストを返す

問題が何であるか把握するのに助けてくれる人がいますか?また、同じユーザーを個別にリクエストすると、結果が表示されます。

エラーは次のとおりです。twListToDF

library(twitteR) 
#here twitter_dig_aud is the list of 1000 or more twitter handles 

twitter_data <- lookupUsers(twitter_dig_aud[start:end,]) 
twitter_data <- twListToDF(twitter_data) 
twitter_data <- subset(twitter_data, protected == FALSE) 
twitter_data <- data.frame(twitter_data$screenName) 

for(i in 1:nrow(twitter_data)){ 
    print(paste("Row number ", i , " of ", nrow(twitter_data))) 
    id <- twitter_data[i, 1] 
    print(as.vector(id)) 
    ab <- user_following(id) 
} 


    user_following <- function(id){ 
    #here at this level I am authenticating my twitter connection 
    library(twitteR) 
    folw_details <- getUser(id) 

    if(folw_details$getFriendsCount() == 0){ 
    return() 
    } else{ 
    #get followeres details 

    #i get error at this stage saying empty list passed to twListToDF 
    friends <- twListToDF(folw_details$getFriends()) 

    #Id <- id 
    friends <- friends$screenName 
    return(friends)   
    } 
    } 

を通過した空のリストは、このシナリオでは問題が何であるか、私を助けてください。私は、フォロワーカウントやフォローカウントなどの他の詳細を申請している間、同じ問題に直面しています。

+0

を@symbolrushあなたの努力をありがとうございました。 Twitter APIは時間当たりのクエリの量を制限していますか?もしそれが少し遅れを挿入するのに役立つかもしれません.. – symbolrush

+0

@記号ブラシは答えをお読みください。ありがとうございました。 – surfer

答えて

1

私はたくさんのことを読んで何かを見つけ出し、最終的に何かを見つけました。これは15分ごとに20-30個のクエリしか許可しないtwitter APIです。

私のプログラムは15分間スリープ状態になりました。今は正常に動作しています。

プログラムスリープ後、私は私のtwitter接続を許可しました。

私は、次のコードを使用:はい

print("Process sleeps for 15 mins due to twitter API security issues and then it will continue") 
    Sys.sleep(900) 
    authorise() 

を、しかし欠点は、処理速度が非常に遅いことです。

は、私はTwitterのAPIについて多くを知らないが、私たちはAPIの制限に起因している他のAPIと同様の問題を持っていた

関連する問題