gpt4 book ai didi

java - 我可以请求/过滤 twitter streaming api 以仅返回带有地理标签的推文吗?

转载 作者:搜寻专家 更新时间:2023-11-01 01:55:28 25 4
gpt4 key购买 nike

我正在使用 twitter4j 库访问公共(public) Twitter 流。我正在尝试制作一个涉及地理标记推文的项目,我需要收集大量推文进行测试。

现在我正在从 Twitter 获取未经过滤的流,并且只保存带有地理标签的推文。不过这很慢,因为绝大多数推文都没有地理标签。我希望 Twitter 流只向我发送带有地理标签的推文。

我试过使用this question中提到的方法,您在其中使用大小为 360* x 180* 的边界框进行过滤,但这对我不起作用。使用该过滤器时我没有收到任何错误,但我仍然收到 99% 的推文没有地理标签。这是我的做法:

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("censored")
.setOAuthConsumerSecret("censored")
.setOAuthAccessToken("censored")
.setOAuthAccessTokenSecret("censored");

TwitterStream twitterStream = newTwitterStreamFactory(cb.build()).getInstance();
StatusListener listener = new MyStatusListener();
twitterStream.addListener(listener);

//add location filter for what I hope is the whole planet. Just trying to limit
//results to only things that are geotagged
FilterQuery locationFilter = new FilterQuery();
double[][] locations = {{-180.0d,-90.0d},{180.0d,90.0d}};

locationFilter.locations(locations);

twitterStream.filter(locationFilter);

twitterStream.sample();

关于为什么我仍然收到没有地理标签的推文有什么建议吗?

编辑:我刚刚重读了 twitter4j javadoc在向 Twitter 流添加过滤器时,它说“默认访问级别允许最多 200 个跟踪关键字、400 个关注用户 ID 和 10 个 1 度位置框。”那么边界框可能只有 1 度宽?这与我遇到的原始信息不同。那是我的问题吗?我的过滤器请求太大所以被忽略了?我在尝试使用它时没有遇到任何错误。

最佳答案

从过滤器流中获取然后用示例流覆盖它。

删除最后一行:twitterStream.sample();

关于java - 我可以请求/过滤 twitter streaming api 以仅返回带有地理标签的推文吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com