设置 twitter 流以根据关键字从用户那里获取实时流
Posted
技术标签:
【中文标题】设置 twitter 流以根据关键字从用户那里获取实时流【英文标题】:Set up twitter stream to get live streams from a user based on keywords 【发布时间】:2019-12-12 09:45:46 【问题描述】:如果我想要在特朗普发布任何带有“种族主义”或“移民”一词的推文时进行直播,我该怎么做?我不确定这是否有效,更不用说如何向查询中添加多个关键字了。
public static void Stream_SampleStreamExample()
var stream = Stream.CreateUserStream();
stream.AddCustomQueryParameter("realDonaldTrump", "racist");
stream.MessageReceived += (sender, args) =>
Console.WriteLine(args.Message.Text);
;
stream.AddTweetLanguageFilter(LanguageFilter.English);
stream.StartStream();
我必须先关注用户吗?
public static void AuthenticatedUser_FollowUser(string userName)
var authenticatedUser = User.GetAuthenticatedUser();
var userToFollow = User.GetUserFromScreenName(userName);
if (authenticatedUser.FollowUser(userToFollow))
Console.WriteLine("You have successfully sent a request to follow 0", userToFollow.Name);
【问题讨论】:
【参考方案1】:目前这可行。首先
string userStr = "realDonaldTrump";
// From a user screen name
user = User.GetUserFromScreenName(userStr);
userIdentifier = new UserIdentifier(user.Id);
添加要匹配的关键字:
fs.AddTrack("immigration");
...
设置过滤流:
IFilteredStream fs = Stream.CreateFilteredStream();
and so on...
然后,在 OnMatchedTweet 中,查看推文的创建者是否是您想要的用户。
OnMatchedTweet(object sender, MatchedTweetReceivedEventArgs args)
if (args.Tweet.CreatedBy.Id != user.Id)
return;
...
【讨论】:
以上是关于设置 twitter 流以根据关键字从用户那里获取实时流的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript 提交表单时,如何从用户那里获取数量变量?