Ограничение строки поиска 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"]

Другие вопросы по тегам