API премиум поиска, использование retweets_of и функции - PullRequest
2 голосов
/ 03 апреля 2019

Я использую TwitterAPI в python3 для расширенного поиска, чтобы найти заархивированные твиты, которые ретвитятся пользователем1 из пользователя2 с конкретными ключевыми словами.После некоторых предложений я использовал https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/operators-by-product и https://github.com/geduldig/TwitterAPI для создания этого кода, но когда я запускаю код, я не получаю никакого вывода или сообщения об ошибке.

Код работает нормально, когда я не использую retweets_of и операторов, но это правила, которые я хочу использовать для получения моих данных.

Я знаю, что мой код показывает премиальный поиск в Песочнице, но я обновлю его до премиального полного поиска в архиве, когда у меня будет правильный код.

from TwitterAPI import TwitterAPI

#Keys and Tokens from Twitter Developer
consumer_key = "xxxxxxxxxxxxx"
consumer_secret = "xxxxxxxxxxxxxxxxxxx"
access_token = "xxxxxxxxxxxxxxxxxxx"
access_token_secret = "xxxxxxxxxxxxxxxxx"

PRODUCT = '30day'
LABEL = 'MyLABELname'

api = TwitterAPI(consumer_key, consumer_secret, access_token, access_token_secret)

r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
            {'query':'retweets_of:user.Tesla from:user.elonmusk Supercharger battery'})

for item in r:
    print (item['text'] if 'text' in item else item)

Кто-то знает, в чем проблемамой код или есть какой-либо другой способ использовать retweets_of и от операторов для премиум-поиска.Можно ли также добавить в мой код оператор подсчета, чтобы он выдавал числа в виде выходных данных, а не все твиты в письменной форме?

1 Ответ

1 голос
/ 04 апреля 2019

Вы должны опустить "пользователь". в вашем query.

Кроме того, указав «Аккумуляторная батарея», что совершенно нормально, вам нужно и то, и другое в результатах поиска. Однако, если вам требуется только одно слово, вы должны использовать «Нагнетатель ИЛИ аккумулятор».

Наконец, чтобы указать большее количество результатов, используйте параметр maxResults (от 10 до 100).

Вот ваш пример со всем вышеперечисленным:

r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
        {'query':'retweets_of:Tesla from:elonmusk Supercharger OR battery',
         'maxResults':100})

Может быть полезен документ Премиум поиска в Твиттере: https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...