Twitter api的twython搜索字符串限制:结果丢失

时间:2016-03-05 12:51:53

标签: python twitter twython

您好我是编码的新手,还处于阶段,复制粘贴,学习,更改一些变量,运行,交叉手指,拳头拳或举拳......等等。

我使用this tutorial

创建了一个Twitter机器人

我的代码如下

import time
from twython import Twython, TwythonError

app_key = "xxxx"
app_secret = "xxxx"
oauth_token = "xxxx"
oauth_token_secret = "xxxx"


naughty_words = [" -RT"]

good_words = ["search phrase", "another search phrase", "yet another", "one more", "search phrase two", "TFW search phrase"]


filter = " OR ".join(good_words)

blacklist = " -".join(naughty_words)

keywords = filter + blacklist

twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)

search_results = twitter.search(q=keywords, count=100)
try:
for tweet in search_results["statuses"]:
    try:
        twitter.retweet(id = tweet["id_str"])
        except TwythonError as e:
        print e
except TwythonError as e:
print e

time.sleep(300)

因此,当我运行代码时,它有时会获得结果并转发它们,但如果我只使用两个搜索项运行代码,它会发现更多并转发它们。

我不知道我是否超过了twitter搜索api限制(我发现了几个不同的数字)或者OR OR OR的字符串搞砸了或者太长了。

欢迎使用python和twitter api的任何建议。非常感谢

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

即使使用OR和空格我仍未超过限制。

1 个答案:

答案 0 :(得分:0)

我认为我通过使用%22而不是引号来解决问题。非常感谢

good_words = [“%2这是一个短语%22”,“%22这是另一个%22”]