Ограничение строки поиска twython с помощью твиттера api: результаты отсутствуют
Здравствуйте, я новичок в кодировании, все еще в фазе, копирую, вставляю, учусь, меняю некоторые переменные, бегаю, скрещиваю пальцы, стучу кулаком или поднимаю кулак... и т.д.
Я создал бота 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)
поэтому, когда я запускаю код, он иногда получает результаты и ретвитит их, но если я запускаю код только с двумя поисковыми терминами, он находит больше и ретвитит их.
я не знаю, превышаю ли я лимит API поиска в Твиттере (для которого я нашел несколько разных чисел), или строка ИЛИ ИЛИ ИЛИ ИЛИ испорчена или слишком длинная.
Любой совет для Python и APITwitter приветствуется. большое спасибо
РЕДАКТИРОВАТЬ: UTF-8, URL-кодированный поисковый запрос не более 500 символов, включая операторов. Запросы могут быть дополнительно ограничены по сложности.
даже с OR и пробелами я все еще не превышаю предел.
1 ответ
Я думаю, что я решил проблему, используя%22 вместо кавычек. большое спасибо
good_words = ["%2 это одна фраза%22", "%22 это другая фраза%22"]