您好我是编码的新手,还处于阶段,复制粘贴,学习,更改一些变量,运行,交叉手指,拳头拳或举拳......等等。
创建了一个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和空格我仍未超过限制。
答案 0 :(得分:0)
我认为我通过使用%22而不是引号来解决问题。非常感谢
good_words = [“%2这是一个短语%22”,“%22这是另一个%22”]