代码之家  ›  专栏  ›  技术社区  ›  keramat

Twython,限制推特140个字符

  •  1
  • keramat  · 技术社区  · 7 年前

    我试图用Tython在推特上搜索,但图书馆似乎限制在140个字符。有了python的新特性,即280个字符的长度,我们可以做什么?

    2 回复  |  直到 7 年前
        1
  •  5
  •   Jonas    7 年前

    这不是Twython的限制。默认情况下,Twitter API返回旧的140个字符限制的推文。为了查看更新的扩展推文,您只需要在搜索查询中提供以下参数:

    tweet_mode=extended

    然后,您将在 full_text 返回推文的字段。

    我使用另一个库( TwitterAPI ),但我认为你可以用Twython做这样的事情:

    results = api.search(q='pizza',tweet_mode='extended')
    for result in results['statuses']:
        print(result['full_text'])
    
        2
  •  0
  •   valerius21    7 年前

    不幸的是,我找不到任何与“Tython”相关的东西。然而,如果你的目标是搜索推特数据(在本例中是帖子)和/或收集元数据,我建议你去图书馆看看 TwitterSearch .

    下面是一个快速的例子,从提供的链接中搜索包含这些单词的Twitter帖子 Gutenberg Doktorarbeit .

    from TwitterSearch import *
    try:
        tso = TwitterSearchOrder() # create a TwitterSearchOrder object
        tso.set_keywords(['Guttenberg', 'Doktorarbeit']) # let's define all words we would like to have a look for
        tso.set_language('de') # we want to see German tweets only
        tso.set_include_entities(False) # and don't give us all those entity information
    
        # it's about time to create a TwitterSearch object with our secret tokens (API auth credentials)
        ts = TwitterSearch(
            consumer_key = 'aaabbb',
            consumer_secret = 'cccddd',
            access_token = '111222',
            access_token_secret = '333444'
         )
    
         # this is where the fun actually starts :)
        for tweet in ts.search_tweets_iterable(tso):
            print( '@%s tweeted: %s' % ( tweet['user']['screen_name'], tweet['text'] ) )
    except TwitterSearchException as e: # take care of all those ugly errors if there are some
        print(e)