Извлечение необработанных твитов с помощью Twitter API без сокращенной ссылки на t.co - PullRequest
0 голосов
/ 14 января 2020

Я учусь использовать Twitter API с Tweepy. Я хотел бы помочь с извлечением необработанных данных Tweet, то есть без сокращенных URL-адресов. Этот твит , например, показывает ссылку на YouTube, но при анализе API печатает ссылку t.co. Как я могу напечатать текст как отображается? Спасибо за вашу помощь.

Примечание. У меня такая же проблема, как у этого вопроса , но это не то же самое.

Код функции:

def get_tweets(username): 

        auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
        auth.set_access_token(access_key, access_secret) 

        # Call api 
        api = tweepy.API(auth) 

        tweets = api.user_timeline(screen_name=username) 

        # Empty Array 
        tmp=[] 


        # create array of tweet information: username,  
        # tweet id, date/time, text 
        tweets_for_csv = [tweet.text for tweet in tweets] # CSV file created  
        for j in tweets_for_csv: 
            # Append tweets to the empty array tmp 
            tmp.append(j)

        dict1 = {}
        punctuation = '''`~!@#$%^&*(){}[];:'".,\/?'''
        tmps = str(tmp)
        for char in tmps: 
            if char in punctuation: 
                tmps = tmps.replace(char," ")
        tmps2 = tmps.split(" ")

        a = 0
        while a < len(tmps2):
            for b in tmps2:
                dict1[a] = b
                a += 1

1 Ответ

0 голосов
/ 14 января 2020

API-интерфейс Twitter возвращает необработанные данные твитов без разбора. Эти данные включают сокращенные URL-адреса, потому что так представлен твит. Сам Твиттер просто анализирует и отображает оригинальный URL. Сама ссылка является еще сокращенной.

Tweet объекты имеют атрибут entities, который предоставляет объект entity с полем urls, которое массив объектов URL , представляющих URL-адреса, включенные в текст твита, или пустой массив, если ссылки отсутствуют. Каждый объект URL включает в себя поле display_url с исходным URL, вставленным / введенным в Tweet, и поле indices, представляющее собой массив целых чисел, представляющих смещения в тексте Tweet, где URL начинается и заканчивается. Вы можете использовать эти поля для замены сокращенного URL.

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