关于Twitter API中推文时间范围的查询,以下是完整的解析:
一、基础概念 Twitter API允许开发者通过时间参数检索特定时间范围内的推文,主要涉及以下两个关键参数:
start_time
:ISO 8601格式的时间戳(UTC时区),表示查询起始时间end_time
:ISO 8601格式的时间戳(UTC时区),表示查询结束时间二、时间范围限制
next_token
分页获取更多结果三、实现示例(Python)
import requests
from datetime import datetime, timedelta
bearer_token = "YOUR_BEARER_TOKEN"
end_time = datetime.utcnow()
start_time = end_time - timedelta(days=7) # 7天范围
url = "https://api.twitter.com/2/tweets/search/recent"
params = {
"query": "from:twitterdev",
"start_time": start_time.isoformat(timespec="seconds") + "Z",
"end_time": end_time.isoformat(timespec="seconds") + "Z",
"max_results": 100
}
headers = {"Authorization": f"Bearer {bearer_token}"}
response = requests.get(url, headers=headers, params=params)
print(response.json())
四、常见问题及解决方案
五、最佳实践
# 分批查询示例
current = start_time
while current < end_time:
batch_end = min(current + timedelta(hours=6), end_time) # 6小时为一批
params = {
"start_time": current.isoformat() + "Z",
"end_time": batch_end.isoformat() + "Z"
}
# 发送请求...
current = batch_end
since_id
/until_id
参数使用可以提高效率六、注意事项
x-rate-limit-remaining