使用Tweepy附加推文的媒体,扩展链接,引用推文文本

时间:2017-04-08 17:19:30

标签: python python-2.7 twitter tweepy

例如,使用我当前的代码,this tweet显示为:

  

今天早上穿越牛津郡的小巷,让腿准备好进行快速测试... https://t.co/W0uFKU9jCr

我希望看起来像在Twitter的网站上显示的那样,例如:

  

今天早上穿越牛津郡的车道,让腿准备好进行快速测试... https://www.instagram.com/p/BSocl5Djf5v/

我该怎么做呢?我的意思是用媒体网址,扩展网址,推文引号替换推特的简短网址......我知道这与json中的'entities' object有关,但我不知道怎么做在我的代码中处理

for status in new_tweets:
    if ('RT @' not in status.full_text):
        id = status.id
        text = status.full_text

1 个答案:

答案 0 :(得分:3)

你是对的,你需要使用实体。你可以这样得到expanded_url:

 for status in tweepy.Cursor(twitter_api.user_timeline, screenname=username).items(limit):
    if status.entities['urls']:
        for url in status.entities['urls']:
            links = url['expanded_url']
print(links)

您可以通过连接来打印状态文本和expanded_url

for status in tweepy.Cursor(twitter_api.user_timeline, screenname=username).items(limit):
    if status.entities['urls']:
        for url in status.entities['urls']:
            links = url['expanded_url']
            print(status.text + links)

并不是说此代码只会在推文有网址时打印,所以我相信如果没有共享媒体链接,它就不会打印推文。