gpt4 book ai didi

c# - 如何获取几个月前的推文?

转载 作者:太空狗 更新时间:2023-10-30 01:31:22 26 4
gpt4 key购买 nike

我正在使用 LINQ to Twitter 4.1.0 检索带有特定主题标签的推文。但我面临的问题是我只收到 600 条推文。我想获得几个月前的推文。谁能建议我怎么做?

 [List<Search> searchResultsList = new List<Search>();
ulong lastId = 0;
var context = new TwitterContext(auth);
int count = 0;
int maxNumberToFind = 1000;
var dateFrom = DateTime.Now.AddDays(-20);

var searchResults =
(from search in context.Search
where search.Type == SearchType.Search &&
search.Query == Query &&
search.SinceID == 2016-12-11 &&
search.Count == 150 &&
search.ResultType == ResultType.Recent &&
search.IncludeEntities == true
select search).ToList();][1]

最佳答案

我建议查看 documentation看起来您可以指定一个“直到”日期和一个 MaxId:

Until: Tweets up to this date, YYYY-MM-DD. (string)

MaxID: Return tweets prior to or equal to this ID. (ulong)

我会查询“直到”日期并使用 LINQ 的“LastOrDefault()”获取最后一条推文。然后使用该对象的 ID 作为下一个查询的 MaxID 进行另一个查询。这应该会在您要求的特定日期之前为您提供所有推文。

注意这个参数也很重要:

Count Number of tweets to retrieve for each page. Max is 100. (int)

这可能与您收到的推文数量有限有关。

编辑: This post Joe Mayo(LinqToTwitter 的创建者)的文章也可能对您有所帮助。这是一些代码(免责声明:我没有测试过这个,但你明白了):

List<Search> searchResultsList = new List<Search>();
var context = new TwitterContext(auth);
var maxCount = 100;
var untilDate = new DateTime(2016,12,11);

var lastTweetInRange =
(from search in context.Search
where search.Type == SearchType.Search &&
search.Query == Query &&
search.Count == maxCount &&
search.Until == untilDate &&
search.IncludeEntities == true
select search).LastOrDefault();

var tweetsInRange = (from search in context.Search
where search.Type == SearchType.Search &&
search.Query == Query &&
search.Count == maxCount &&
search.MaxId == lastTweetInRange.id &&
search.IncludeEntities == true
select search).ToList();

关于c# - 如何获取几个月前的推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41593202/

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