【问题标题】:using variable from returns in python在python中使用返回的变量
【发布时间】:2017-07-02 07:53:11
【问题描述】:

我目前正在使用 python-twitter 模块,我希望能够从使用 api.GetFollowersPaged() 获得的返回中分离出一个字符串。当我运行代码打印返回时,我得到如下所示的内容:

[User(ID=...., ScreenName=....)]

我怎样才能只隔离 ID 或 ScreenName 的值并将其分配给另一个变量。我试过用

print ScreenName

但收到一个 NameError 告诉我 ScreenName 未定义。

【问题讨论】:

    标签: python twitter python-twitter


    【解决方案1】:

    从未使用过 python-twitter,但检查文档看起来它返回了一个用户数组,所以你只需要告诉你想要获取数据的用户的索引,或者迭代它们:

    for user in api.GetFollowersPaged():
        print user.screen_name
    

    Modules Documentation

    Source code for twitter.api

    【讨论】:

    • 当我写这篇文章时,我在调用 print 时收到一个 N 属性错误,说 'int' 对象没有属性 'screen_name'
    • Mmm... 在文档中说它返回next_cursor, previous_cursor, data sequence of twitter. User instances, one for each follower。尝试打印user[2](应该有用户)。如果没有,那么您将不得不深入研究文档,因为我没有 API 方面的经验。
    • 啊,这是一个类型错误,其中 int 没有属性 'getitem'。嘿,感谢您的宝贵时间,但我感谢您的帮助
    • 除了 python-twitter 之外,你会推荐另一个库
    • 如果你想疯狂,开始以各种可能的方式打印user 包含的内容和api.GetFollowersPaged 包含的内容。如果您更改为另一个 API,我无法帮助您,因为我通常没有练习过 Twitter API。但是 Twitter 为您提供了其中的 list,尽管 Twython 和 tweepy 是基于 search 的最常用的:TwitterAPI 也得到了一些调用。
    【解决方案2】:

    我确实找到了一种方法来做我想做的事情我切换到 tweepy 并编写了以下脚本

    Users = tweepy.Cursor (api.followers, screen_name= whatever).items ()
    while True:
        try:
            User= next (Users)
        except tweepy.TweepError:
            time.sleep (60*15)
            User = next (Users)
        except StopIteration:
            break
       retsn= user.screen_name
       print '@' + retsn
    

    感谢大家的帮助,希望有一天这对某人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多