Как получить доступ к твиповым объектам extended_url и почему некоторые из них недоступны в качестве свойств объекта - PullRequest
2 голосов
/ 06 мая 2020

Я пытаюсь разобраться в tweepy и извлечении данных, в частности, о подписчиках.

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

Followers = AboutMe.followers
for follows in Followers():
    print(follows.id, "is user ID for ", follows.screen_name, " from ", follows.location, follows.url)

Когда я выполняю это, я получаю URL-адреса, например https://t.co/ [uniquestring] вместо FQDM, на которые я надеялся

Существует свойство / сущность с именем expanded_url, но оно недоступно как свойство объекта. Это почему? и как мне получить к нему доступ, если он встроен в более низкие уровни json сущностей

Я предоставляю образец вывода, если I print(follows.entities)

{'url': { 'url': [{'url': 'https://t.co/ [строка] ', 'extended_url': 'http://www.fqdm »,' display_url ':' domain.tld ' , 'индексы': [0, 23]}]}, 'описание': {'URL-адреса': []}}

1 Ответ

1 голос
/ 18 мая 2020

В соответствии с документацией и выводом print(follows.entities) следующий код отвечает на ваш вопрос, чтобы получить полное доменное имя для подписчиков:

Followers = AboutMe.followers
for follows in Followers():
    print(follows.id, "is user ID for ", follows.screen_name, " from ", follows.location, follows.entities.url.urls[0].expanded_url)

Возможно, вы также захотите обработать случай, когда у пользователя нет url.

...