我試圖讓所有推文(計數總推特數)屬於hashtag。我的功能在這裏,如何使用maxID和sinceID獲取所有推文。什麼是而不是「數」?我不知道。如何使用LinqToTwitter獲取所有關於Hashtag的推文
if (maxid != null)
{
var searchResponse =
await
(from search in ctx.Search
where search.Type == SearchType.Search &&
search.Query == "#karne" &&
search.Count == Convert.ToInt32(count)
select search)
.SingleOrDefaultAsync();
maxid = Convert.ToString(searchResponse.SearchMetaData.MaxID);
foreach (var tweet in searchResponse.Statuses)
{
try
{
ResultSearch.Add(new KeyValuePair<String, String>(tweet.ID.ToString(), tweet.Text));
tweetcount++;
}
catch {}
}
while (maxid != null && tweetcount < Convert.ToInt32(count))
{
maxid = Convert.ToString(searchResponse.SearchMetaData.MaxID);
searchResponse =
await
(from search in ctx.Search
where search.Type == SearchType.Search &&
search.Query == "#karne" &&
search.Count == Convert.ToInt32(count) &&
search.MaxID == Convert.ToUInt64(maxid)
select search)
.SingleOrDefaultAsync();
foreach (var tweet in searchResponse.Statuses)
{
try
{
ResultSearch.Add(new KeyValuePair<String, String>(tweet.ID.ToString(), tweet.Text));
tweetcount++;
}
catch { }
}
}
}
這段代碼並不真正起作用。它進入了一個無限循環,即設備上的EATS內存。達到超過1.3 GB的RAM,然後崩潰。一直在使用互聯網。我究竟做錯了什麼?我使用了相同的代碼 – Everyone
@Everyone搜索字詞「twitter」正在帶回很多推文。因此,您可以將其更改爲「LINQ to Twitter」之類的內容,但不會獲得儘可能多的流量。您也可以檢查Created At的日期,以確保您只能回溯到目前爲止。另一個選擇是設置一些推文停止在。此外,請注意,SinceID設置爲1,這意味着搜索將繼續,直到Twitter停止生成結果或您到達SinceID。爲後續呼叫保存最新的SinceID有助於避免請求重複的推文。閱讀使用時間表鏈接瞭解更多信息。 –
是的,我意識到這一點。它不會停止,直到條件告訴它這樣做。有趣的方法。 +1 :) – Everyone