推特 api 的 twython 搜索字符串限制:缺少结果
twython search string limit with twitter api : results missing
你好,我是编码新手,还在阶段,复制粘贴,学习,改变一些变量,运行,交叉手指,敲拳或举拳等
我使用 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 OR 的字符串被弄乱了或太长了。
欢迎对 python 和推特 api 提出任何建议。非常感谢
编辑:一个 UTF-8,URL 编码的搜索查询,最多 500 个字符,包括运算符。查询可能还受到复杂性的限制。
即使有 OR 和空格,我仍然没有超过限制。
我想我通过使用 %22 而不是引号解决了这个问题。非常感谢
good_words = ["%2这是一个短语%22", "%22这是另一个短语%22"]
你好,我是编码新手,还在阶段,复制粘贴,学习,改变一些变量,运行,交叉手指,敲拳或举拳等
我使用 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 OR 的字符串被弄乱了或太长了。
欢迎对 python 和推特 api 提出任何建议。非常感谢
编辑:一个 UTF-8,URL 编码的搜索查询,最多 500 个字符,包括运算符。查询可能还受到复杂性的限制。
即使有 OR 和空格,我仍然没有超过限制。
我想我通过使用 %22 而不是引号解决了这个问题。非常感谢
good_words = ["%2这是一个短语%22", "%22这是另一个短语%22"]