【发布时间】:2012-12-17 19:32:09
【问题描述】:
是否可以获取包含照片的推文?我目前正在使用twitter search api 并通过设置 include_entities=true 来获取所有具有实体详细信息的推文。我在媒体对象下看到图片详细信息,但无论如何都可以过滤和获取只有这些媒体项目的推文对象。或者 Twitter4j 中是否有执行此查询的功能?
【问题讨论】:
标签: twitter twitter4j twitter-search
是否可以获取包含照片的推文?我目前正在使用twitter search api 并通过设置 include_entities=true 来获取所有具有实体详细信息的推文。我在媒体对象下看到图片详细信息,但无论如何都可以过滤和获取只有这些媒体项目的推文对象。或者 Twitter4j 中是否有执行此查询的功能?
【问题讨论】:
标签: twitter twitter4j twitter-search
没有具体方法可以指定我只需要照片或视频,但您可以根据查询中的filter:links 或filter:images 或filter:videos 以及include_entities=true 过滤结果。
例如:要获取包含2012-01-31之后的链接的推文,您查询应该有include_entities参数以及filter:links,如下所示:
https://search.twitter.com/search.json?q=from%3Agoogle%20since%3A2012-01-31%20filter%3Alinks&include_entities=true"
由于您需要根据图像/照片过滤推文,我认为您应该使用filter:images。
您的案例如下所示:
https://search.twitter.com/search.json?q=from%3Agoogle%20since%3A2012-01-31%20filter%3Aimages&include_entities=true"
希望这会有所帮助。
【讨论】:
使用最新的 twitter API,我无法让过滤器正常工作,而且我在他们的文档中也找不到任何解释。尽管您可以获取所有推文,然后仅解析媒体推文。如果在您的解析脚本中,您可以触发它:
if(this.entities.media != null){
//Parse the tweet
}
这不是最好的解决方案,但最糟糕的部分是 twitter,它为您提供更多信息并使用更多自己的资源。
【讨论】:
在最新的 Twitter API 中,您可以在 ConfigurationBuilder 实例中执行此操作,然后再创建 Twitter 实例:
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(false);
cb.setOAuthConsumerKey(API_KEY);
cb.setOAuthConsumerSecret(API_SECRET);
cb.setOAuthAccessToken(ACCESS_TOKEN);
cb.setOAuthAccessTokenSecret(SECRET_KEY);
// enabling include_entities parameters
cb.setIncludeEntitiesEnabled(true);
Twitter twitterInstance = new TwitterFactory(cb.build()).getInstance();
此外,启用实体后,在搜索字符串中您必须有条件“filter:images”。
List<String> keywords = new ArrayList<String>();
keywords.add("#pet");
keywords.add("cat");
// String.join for Java 8
String twitterSearchString = "((" + String.join(" OR ", keywords) + ")";
// adding the filter condition
twitterSearchString += " AND filter:images)";
Query q = new Query(twitterSearchString);
你会得到图片的结果(用 twitter4j-core 4.0.4 测试)。
【讨论】:
对于 twitter API 中的过滤器,您可以查看官方文档以获取截至 2019 年 4 月 2 日的最新版本
https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators.html
【讨论】: