帮我写一段获取七天内每天的数量统计 Java
时间: 2024-02-15 07:03:13 浏览: 135
JS实现简单获取最近7天和最近3天日期的方法
5星 · 资源好评率100%
好的,下面是获取辽篮官方微博七天内每天发微博的数量统计的 Java 代码示例:
```java
import java.util.*;
import weibo4j.*;
import weibo4j.model.*;
import weibo4j.util.*;
public class WeiboCount {
public static void main(String[] args) throws Exception {
// 设置微博API的基本信息
String access_token = "your_access_token"; // 你的access_token
String access_token_secret = "your_access_token_secret"; // 你的access_token_secret
String app_key = "your_app_key"; // 你的app_key
String app_secret = "your_app_secret"; // 你的app_secret
String uid = "your_uid"; // 你的微博uid
// 实例化微博API类对象
Weibo weibo = new Weibo(app_key, app_secret, access_token, access_token_secret);
weibo.setToken(access_token, access_token_secret);
// 获取七天内的微博
Date endDate = new Date();
Date startDate = new Date(endDate.getTime() - 7 * 24 * 60 * 60 * 1000L);
QueryWrapper queryWrapper = QueryWrapper.builder()
.uid(uid)
.sinceId("")
.maxId("")
.count(100)
.page(1)
.base_app(false)
.filter_by_author(0)
.filter_by_source(0)
.filter_by_type(0)
.trim_user(false)
.start_date(DateUtil.format(startDate, "yyyy-MM-dd"))
.end_date(DateUtil.format(endDate, "yyyy-MM-dd"))
.build();
StatusesAPI statusesAPI = new StatusesAPI(weibo);
List<Status> statuses = statusesAPI.getUserTimeline(queryWrapper).getStatuses();
// 统计微博数量
Map<String, Integer> countMap = new HashMap<>();
for (Status status : statuses) {
String dateStr = DateUtil.format(status.getCreatedAt(), "yyyy-MM-dd");
if (countMap.containsKey(dateStr)) {
countMap.put(dateStr, countMap.get(dateStr) + 1);
} else {
countMap.put(dateStr, 1);
}
}
// 输出每天的微博数量
for (String dateStr : countMap.keySet()) {
System.out.println(dateStr + " 发微博的数量为:" + countMap.get(dateStr));
}
}
}
```
需要注意的是,以上代码依赖于 weibo4j 库,如果你还没有引入该库,需要先下载并添加到项目中。同时,为了使用该代码,你需要先将代码中的 `access_token`、`access_token_secret`、`app_key`、`app_secret` 和 `uid` 替换为你自己的值。
阅读全文