【问题标题】:Get the full retweeted tweet获取完整的转推推文
【发布时间】:2017-05-15 05:08:42
【问题描述】:

我正在使用 Tweepy 和 Python 来访问 Twitter API。

我想知道下面的问题是常见的还是仅发生在我身上。

我正在存储一些推文。 转推的以这种格式存储:

RT @User [text of the tweet]

我注意到,即使用户使用“转推”按钮转推文本,文本也始终以相同的格式 (RT @User [text of the tweet]) 存储,当然当 Twitter API 添加“RT @user”时,整个文本可以超过 140 个字符,因此它会被存储但不是完整的长度。

如果问题不是常见的错误,对于使用 Tweepy 的人来说,错误是来自它还是来自 Twitter API?

【问题讨论】:

标签: python twitter tweepy


【解决方案1】:

转推是一种特殊类型的推文,带有一个名为“retweeted_status”的附加节点。 原始推文的原始、未更改的推文文本位于 retweeted_status 的文本字段中,而不是像传统推文那样位于最顶部的文本字段。

尝试关注,

import tweepy
import urllib2
import json
consumer_key='#'
consumer_secret='#'
access_token_key='#'
access_token_secret='#'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)
api = tweepy.API(auth)

public_tweets = api.user_timeline(screen_name="@HandleHere",count=25,page=1,include_rts=True)
all_items=[]
[all_items.append(i) for i in public_tweets]

for i in all_items:
    try:
        if i.retweeted_status:
            print i.retweeted_status.text
    except:
        pass

它将打印完整的转推推文。

【讨论】:

    【解决方案2】:

    这不是错误,而是正常行为。为截断字段引用the tweeter documentation

    指示文本参数的值是否被截断,例如,由于转发超过 140 个字符的推文长度。截断的文本将以省略号结尾,如下所示...

    [...]

    请注意,虽然原生转推可能会缩短其顶级文本属性,但原始文本将在 retweeted_status 对象下可用,并且 truncated 参数将设置为原始状态的值(在大多数情况下)例,假)。

    【讨论】:

    • 它是有线的,因为在 Twitter 中相关的推文没有被截断,但是当使用 API 读取它时它被截断。
    猜你喜欢
    • 2017-03-29
    • 2020-10-05
    • 2018-12-16
    • 2020-10-09
    • 2022-08-11
    • 2017-09-30
    • 2017-07-31
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多