在Twitter API中使用正则表达式

Kir*_*ran 7 python regex twitter tweepy

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

我使用以下代码:

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

例如,我可以搜索所有使用"ARNOLD"或"SYLVESTER"(所有大写/单个词)的推文,而忽略所有其他推文.

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

谢谢

Lui*_*igi 11

不幸的是,Twitter不支持使用正则表达式搜索推文,这意味着你必须发布流程.实际上没有来自Twitter的任何官方文档,但使用Twitter搜索API的每个人都使用正则表达式(包括我)对其推文进行后期处理 .由于没有明确的官方立场,我在搜索查询中尝试了几乎所有正则表达式,但我没有运气.根据Twitter搜索API文档,查询必须是:

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

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

这背后的原因可能是在所有推文上运行正则表达式搜索的额外处理成本对于Twitter本身而言.


pom*_*pon 5

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

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

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