Получите количество ретвитов с твитпом - PullRequest
0 голосов
/ 05 февраля 2019

Я использую tweepy для анализа твиттера.Я хотел посмотреть на список пользователей, который ретвитит данный твит.Прежде всего, я хочу извлечь количество ретвитов этого твита https://twitter.com/AmericaTalks/status/1090392302130888704, используя tweepy.

Я использую следующий код

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

count=0
for tweet in api.retweets(1090392302130888704):
     countj+=1

print(countj)

Как вы можете видетьпо ссылке количество ретвитов равно 54. Однако этот код возвращает 50. Почему существует это расхождение?

Я пытался применить этот код к нескольким твитам, и я заметил, что всегда есть несоответствие тому, что я вижу в веб-клиенте, и результату кода.

1 Ответ

0 голосов
/ 05 февраля 2019

Защищенные ретвиты показываются как часть счетчика, который вы видите, но вы не можете получить их или их ретвитеры через API (если только эта защищенная учетная запись не следует за вами).

Чтобы обрисовать это, вы можетевидите, что https://twitter.com/AmericaTalks/status/1090408203882360832 имеет 7 ретвитов прямо сейчас.Если вы нажмете, чтобы узнать, кто ретвитнул, на нем отобразятся 6 учетных записей, а внизу будет написано «1 пользователь попросил не показываться в этом представлении. Подробнее ».API также будет возвращать только 6 ретвитов (er).

Обратите внимание, что в вашем коде вы определяете count, но используете countj.Это приведет к NameError.
. Кроме того, API.retweets возвращает список Status объектов, так что вы можете просто сделать len(api.retweets(1090392302130888704)), вместо того, чтобы просматривать их в цикле.

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