【问题标题】:Using regular expression in Twitter API在 Twitter API 中使用正则表达式
【发布时间】:2014-06-15 08:21:42
【问题描述】:

我在 Python 中使用 Tweepy 库来搜索推文。我想知道,如果我可以使用正则表达式来搜索推文。

我正在使用以下代码:

query = 'ARNOLD or SYLVESTER'     
for tweet in tweepy.Cursor(api.search,
                            query,
                            count=100,
                            result_type="recent",
                            include_entities=True,
                            lang="en").items():

例如,我是否可以搜索所有使用“ARNOLD”或“SYLVESTER”(全部大写/单个单词)的推文而忽略所有其他推文。

在获取所有由 Arnold 或 Sylvester 组成的推文后,我目前正在处理这些推文,然后检查所有字符是否都是大写的。我想知道它是否可以通过 API 搜索本身来完成。

谢谢

【问题讨论】:

标签: python regex twitter tweepy


【解决方案1】:

很遗憾,Twitter 不支持使用正则表达式搜索推文,这意味着您必须发布流程。实际上没有来自 Twitter 的任何官方文档,但 everyone 使用 Twitter 搜索 API post-processes their tweets 使用正则表达式(包括我)。由于没有明确的官方立场,我在搜索查询中尝试了几乎所有的正则表达式,但我没有运气。根据Twitter search API documentation,查询必须是:

UTF-8、URL 编码的搜索查询,最多 1,000 个字符,包括运算符。查询可能还受到复杂性的限制。

所有查询都是 UTF-8 并且显然是这样搜索的。如果我们可以在 API 搜索调用中指定一个正则表达式参数但没有,那就太好了。

这背后的原因可能是对所有推文运行正则表达式搜索会给 Twitter 本身带来额外的处理成本。

【讨论】:

  • 非常感谢路易斯,这对我帮助很大。我很高兴,终于知道除了后处理之外别无他法。
【解决方案2】:

现在 Twitter API 文档中提供了所有可用搜索运算符的完整列表。

https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/standard-operators

我无法对原始答案发表评论,因此认为这对未来通过 Google 访问的访问者很有用,因为在 Twitter 文档网站上很难找到。

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 2013-08-12
    • 2020-09-14
    • 2011-01-19
    • 2012-01-28
    • 2017-01-18
    • 2011-08-23
    相关资源
    最近更新 更多