rtweet包filtered_stream函数报错:无匹配推文,求助解决
解决rtweet filtered_stream无匹配推文的问题
先确认流规则是否成功添加
运行stream_rules()查看当前已添加的规则列表,如果看不到你刚才加的#chatgpt规则,说明stream_add_rule调用失败了。这时候要检查你的API密钥权限,确保账号有访问Twitter API v2过滤流的权限,另外可以重新调用stream_add_rule,并检查返回结果是否包含规则ID和正确的value。调用filtered_stream时指定目标规则
你当前的代码没有指定要监听的规则,虽然理论上会监听所有已添加规则,但有时候可能无法自动关联。建议直接把添加规则后得到的ID传给filtered_stream的rule参数:chat_rule <- stream_add_rule(list(value = "#chatgpt", tag = "chatgpt")) # 确认规则ID存在 if (!is.null(chat_rule$id)) { chatgpt_stream <- filtered_stream(rule = chat_rule$id, timeout = 120, filename = "chatgpt.json", parse = FALSE) }检查API权限是否足够
虽然search_tweet和get_timeline能正常使用,但过滤流(filtered stream)需要Twitter API的特定权限。如果你的账号是免费层级,可能没有访问过滤流的权限,需要升级到Standard或更高层级的开发者账号。尝试简化规则测试
可以先试试更宽泛的规则,比如value = "chatgpt"(不带#),看看能不能捕获到推文,排除规则本身太严格的问题。
内容的提问来源于stack exchange,提问作者rhet_research
相关产品推荐
相关产品推荐

