You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Twitter4J查询中用since/until参数过滤推文?无关键词使用until参数问题

关于Twitter4J中since/until参数使用及无关键词流查询的解决方案

嘿,我来帮你搞定这两个Twitter4J的问题,都是和日期过滤、历史推文获取相关的,咱们一步步说:

1. 如何在Twitter4J的查询中通过since/until参数过滤推文?

首先得明确,since和until这两个参数是给搜索API用的,流API(实时监听的那种)不支持回溯历史数据,所以要获取指定日期的推文,得用搜索接口。

它们的日期格式必须严格是YYYY-MM-DD:

  • since:表示获取包含该日期及之后的推文
  • until:表示获取该日期之前的推文(注意:不包含该日期当天的内容)

给你个简单的代码示例,不管有没有关键词都能用:

// 先初始化Twitter实例,前提是你已经配置好OAuth认证信息
Twitter twitter = TwitterFactory.getSingleton();

// 创建查询对象
Query query = new Query();
// 设置起始日期:获取2018年4月22日及之后的推文
query.setSince("2018-04-22");
// 设置结束日期:获取2018年4月24日之前的推文(也就是到23日为止)
query.setUntil("2018-04-24");

// 如果需要加关键词,比如搜"tech",就这么写
// query.setQuery("tech");

// 执行查询并遍历结果
QueryResult result = twitter.search(query);
for (Status status : result.getTweets()) {
    System.out.println("@" + status.getUser().getScreenName() + ": " + status.getText());
}

2. 无关键词时结合坐标与日期获取指定历史推文

你之前用的是流API监听坐标,但流API只能拿实时数据,没法回溯两天前的内容。要获取2018年4月22-23日的坐标范围内推文,得切换到搜索API,用bounding_box参数限定地理范围,再配合日期过滤就行,不需要关键词。

直接上代码示例:

Twitter twitter = TwitterFactory.getSingleton();

Query query = new Query();
// 设置地理范围,格式是bounding_box:[西经度 南纬度 东经度 北纬度],这里是示例坐标,你替换成自己的就行
query.setQuery("bounding_box:[-122.0 37.0 -121.0 38.0]");
// 日期范围和之前一样,since设为22日,until设为24日,确保包含23日的所有推文
query.setSince("2018-04-22");
query.setUntil("2018-04-24");

// 搜索API单次返回结果有限,所以要处理分页,循环获取所有结果
QueryResult result;
do {
    result = twitter.search(query);
    for (Status status : result.getTweets()) {
        // 可以输出推文的坐标信息(如果有的话)
        String geoInfo = status.getGeoLocation() != null ? status.getGeoLocation().toString() : "无坐标";
        System.out.println("@" + status.getUser().getScreenName() + " | " + geoInfo + ": " + status.getText());
    }
    // 获取下一页查询对象,直到没有更多结果
    query = result.nextQuery();
} while (query != null);

这里要注意几个点:

  • 流API(比如FilterQuery)真的没法获取历史数据,别再往这上面费功夫啦,切换到搜索API才是正确路径
  • bounding_box的坐标格式一定要准确,不然搜不到对应区域的推文
  • 记得处理分页,不然只能拿到第一页的结果,会漏掉很多内容

内容的提问来源于stack exchange,提问作者Mustafa K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:19:51