rtweet函数';交朋友()';当用户有超过5000个好友时不返回数据
我正在尝试使用rtweet下载Twitter上某个用户的好友列表 如果我试图下载一个朋友少于5000人的用户的朋友列表,我会得到预期的结果——一个用户的朋友列表 但是,如果我尝试下载一个拥有5000多个好友的用户的好友列表,我达到了API限制,因此我必须使用rtweet函数';交朋友()';当用户有超过5000个好友时不返回数据,r,twitter,rtweet,R,Twitter,Rtweet,我正在尝试使用rtweet下载Twitter上某个用户的好友列表 如果我试图下载一个朋友少于5000人的用户的朋友列表,我会得到预期的结果——一个用户的朋友列表 但是,如果我尝试下载一个拥有5000多个好友的用户的好友列表,我达到了API限制,因此我必须使用页面参数和获取好友()函数,如下所述: 我以@jimmyfallon为例,因为他有5000多名推特好友 f1 = get_friends("@jimmyfallon", retryonratelimit = TRUE)$user_id Sy
页面参数和获取好友()
函数,如下所述:
我以@jimmyfallon为例,因为他有5000多名推特好友
f1 = get_friends("@jimmyfallon", retryonratelimit = TRUE)$user_id
Sys.sleep(60*15) # Sleep for 15mins
f2 = get_friends("@jimmyfallon", retryonratelimit = TRUE, page = next_cursor(f1))$user_id
上述代码的预期输出将是f1
包含前5000个朋友,f2
包含剩余的朋友
我的实际结果是f1
包含前5000个好友,f2
包含一个0x0 TIBLE(无数据)
奇怪的是,有时我确实得到了f2的预期输出,但大多数时候它没有给出预期的输出
我尝试将睡眠时间增加到30分钟,使用不同的API键,删除@inget\u friends()
并在不同的网络上执行
我使用R3.6.1和rtweet_0.6.9,在RStudio中运行。尝试f2=get_friends(@jimmyfallon,n=10000,page=-2,retryonratelimit=TRUE)$user_id
来获取更多的id。从这一点到你的第一个,我得到了大约9000个。@JonSpring我刚刚尝试了你的解决方案,对我来说,f2=get_friends(@jimmyfallon),n=10000,page=-2,retryonratelimit=TRUE)$user_id
看起来是在吸引前5000个朋友,而不是下一批。你的第一个代码,当我现在运行它时,产生5000个,从44393707开始,而我的代码生成5000,以2162125610开始。将它们绑定在一起,计算两个中的一个就可以得到8274个id,两个中有863个重叠,总共9137个,这和他现在拥有的追随者数量一样多。@JonSpring谢谢,你的解决方案似乎很有效。为了获得存储在一个对象中的完整9137个朋友,我完成了我的第一行,然后是你的解决方案,在我完成了strip=(5000其中(f1==f2[1])+1
并将它们与f=c(f,f1[-(1:strip)])组合后