मैंने निम्नलिखित स्क्रिप्ट लिखी है जो rtweet का उपयोग करके हर 15 मिनट में 75,000 (5000 मित्र प्रति एपीआई कॉल x 15 एपीआई कॉल) के बैच में ट्विटर उपयोगकर्ताओं के दोस्तों (इस उदाहरण में "बराकोबामा") को प्राप्त करता है। हालांकि, स्क्रिप्ट चलने के बाद, मुझे लगता है कि मित्र आईडी एक निश्चित अंतराल के बाद दोहराते हैं। उदाहरण के लिए, पंक्तियों 1, 280001, और 560001 में एक ही आईडी है। पंक्तियों 2, 280002, और 560002 में एक ही आईडी है, और इसी तरह। मैं सोच रहा हूं कि क्या मैं एपीआई में next_cursor को गलत तरीके से समझ रहा हूं।

u = "barackobama"
n_friends = lookup_users(u)$friends_count
curr_page = -1
fetched_friends = 0
i = 0
all_friends = NULL

while(fetched_friends < n_friends)  {

  if(rate_limit("get_friends")$remaining == 0) {
    print(paste0("API limit reached. Reseting  at ", rate_limit("get_friends")$reset_at))
    Sys.sleep(as.numeric((rate_limit("get_friends")$reset + 0.1) * 60))
  }

  curr_friends = get_friends(u, n = 5000, retryonratelimit = TRUE, page = curr_page)
  i = i + 1
  all_friends = rbind(all_friends, curr_friends)
  fetched_friends = nrow(all_friends)
  print(paste0(i, ". ", fetched_friends, " out of ", n_friends, " fetched."))
  curr_page = next_cursor(curr_friends)
}

किसी भी तरह की सहायता को आभार समझेंगे।

0
wrahool 18 अक्टूबर 2019, 03:43

1 उत्तर

सबसे बढ़िया उत्तर

आप कुछ भी गलत नहीं कर रहे हैं। दस्तावेज़ीकरण:

यह आदेश अघोषित परिवर्तन और आखिरकार संगतता समस्याओं . के अधीन है

बहुत बड़ी सूचियों के लिए, API केवल आपकी इच्छित सभी जानकारी वापस नहीं करेगा।

1
Terence Eden 18 अक्टूबर 2019, 11:52