user_data = 'user.fields=description,location,name,public_metrics,username,verified'
expand = 'expansions=author_id'
tag = 'new zealand -is:retweet'
url = "https://api.twitter.com/2/tweets/search/recent?query = {}&{}&{}".format(tag, expand, user_data)
так я организовал свой запрос, скажем, максимальное количество данных, которые я хочу получить от этой конечной точки, равно 20, я могу использовать поле расширения, чтобы получить дополнительные данные об авторе твита, проблема в том, что полезная нагрузка поля расширения не соответствует данные по умолчанию возвращаются конечной точкой. например, если конечная точка возвращает 20 твитов, поле расширения также возвращает 20 полей, но в моем случае иногда я получаю только 1, помогите, пожалуйста...
Образец ответа API
data part
{'data': [{'id': '1341144983215239170',
'lang': 'en',
'created_at': '2020-12-21T22:14:15.000Z',
'text': "@chrissy99912291 Is it because he's neo? When DJ cuppy said she needs iPhone 12 no one dragged her, why y'all pressed? What kind of mentality is this?",
'author_id': '1268532525321932803',
'public_metrics': {'retweet_count': 0,
'reply_count': 0,
'like_count': 0,
'quote_count': 0}},
включить ['пользовательскую] часть
{'username': 'AOmozoya',
'description': "I'm gifted",
'id': '1102564893071429633',
'verified': False,
'location': 'xx, xx,
'public_metrics': {'followers_count': 64,
'following_count': 383,
'tweet_count': 608,
'listed_count': 0},
'name': 'Special_miracle'},
длина двух ответов должна была быть одинаковой для этого конкретного ответа, когда я пытаюсь проверить длину обоих таким образом. data — это имя ответа json.
len(data['data'])
>>100
в то время как
len(data['includes']['user'])
>>32
пользовательские данные должны соответствовать каждому твиту.
@AndyPiper Я добавил пример результата, пожалуйста, посмотрите, спасибо
Представлены ли одни и те же пользователи более одного раза?
Нет, я так не думаю, я должен перепроверить
Трудно разобраться в этой проблеме без более подробной информации о возвращенных пользователях.
Тем не менее, я бы рекомендовал пакет osometweet . В настоящее время он находится в разработке, однако в ветке поиска есть метод поиска, которому вы можете передать свой запрос с интересующими вас параметрами расширения.
Посетите вики, где есть много инструкций.
Это потому, что это не соответствует количеству твитов.
Если предположим, что пользователь часто встречается в некоторых твитах, то пользователь присутствует только один раз.
Можете ли вы привести пример того, что вы имеете в виду здесь?