【问题标题】:Twitter search: OR with Tags - but how?Twitter 搜索:或带有标签 - 但如何?
【发布时间】:2011-11-23 14:29:35
【问题描述】:

我无法在 twitter API 中搜索包含多个标签之一的推文。

点赞:q="#tag1 OR #tag2 OR #tag3"

如果我放弃散列而只搜索单词,则 OR-ing 有效。对于标签,他们没有。 当我只使用空格时,搜索词将被 AND-ed,什么会缩小结果...

我使用 twitter4j 库:

Twitter rest = new TwitterFactory().getInstance();
Query query = new Query();
query.setQuery("#win | #fail");
QueryResult result = rest.search(query);

这不可能,还是我没有正确使用它?

【问题讨论】:

    标签: search twitter twitter4j


    【解决方案1】:

    可能更容易使用twitter's REST API。您将需要使用搜索查询。 Here's an example 搜索 url 搜索 #LA、#NYC 或 #Boston。注意空格和#s 都是URL encoded。只需将这样的 URL 弹出到如下所示的 getJSON 调用中,您就可以轻松地从返回的 JSON 对象中提取值,如示例所示。

    var requestedData = "http://search.twitter.com/search.json?q=%23LA%20OR%20%23NYC%20OR%20%23Boston%22&callback=?"
    $.getJSON(requestedData,function(ob)
    {
      var firstTweet = ob.results[0].text;
      var firstTweeter = ob.results[0].from_user;
    }
    

    如果您只是在浏览器中访问该示例搜索链接,那么您只需循环访问您的结果并提取所有在 JSON 文件中列出的相应字段即可!我不知道这个 TwitterFactory API,但它们可能还没有更新到 Twitter 的新 API,或者它们只是没有适当的 URL 编码。祝你好运!

    【讨论】:

    • 是的,或者你可以试试 Shcheklein 所说的,看看它是否适用于 TwitterFactory。我以为你已经尝试过了,但我可能误读了。
    【解决方案2】:

    尝试使用 OR 运算符代替“|”:

    query.setQuery("#win OR #fail");
    

    在此处查看可用的 Twitter 搜索 API 运算符:

    Using the Twitter Search API

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-14
      • 2014-05-24
      • 2018-10-13
      • 2016-07-10
      • 2012-09-08
      • 2013-06-10
      • 1970-01-01
      • 2014-12-22
      相关资源
      最近更新 更多