对于多个用户的追随者的Tweepy ID中的循环错误

时间:2017-06-23 19:43:39

标签: python pandas for-loop dataframe tweepy

我有以下for循环来生成两个列表:

A。 ID :用户关注者帐户的ID

B。 处理:用户句柄,以便我可以追溯到每个关注者属于哪个句柄

代码使用两个随机用户,以便我可以轻松跟踪问题:

import tweepy
import time

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

users = ['x', 'y']
api = tweepy.API(auth)
ids = []
handles = []
for user in users:
    for page in tweepy.Cursor(api.followers_ids, screen_name= user).pages():
        ids.extend(page)
        time.sleep(60)
        for userids in ids:
            handles.append(user)

当我运行for循环时,我收到一个错误:

ids我有正确数量的粉丝

然而,在handles中,我的总长度是错误的

我做错了什么?我想简单地将每个ID连接到他们所关注的列表中的帐户。

1 个答案:

答案 0 :(得分:0)

我知道您想要从两个不同长度的列表中构建DataFrame。也许我错了,但由于你没有提供可复制的例子,所以它并不明显。

在这种情况下,它会产生错误。

import pandas as pd
import numpy as np

handles = ['foo', 'bar', 'doe']
ids = [1,2]

followers_df = pd.DataFrame(
    {'handle': handles,
     'ids': ids})

# ValueError: arrays must all be same length

如果你想这样做,你可以使用这个技巧。

pd.concat([pd.DataFrame({'handle': handles}),
           pd.DataFrame({'ids': ids})], 
           axis=1)

#   handle  ids
# 0    foo  1.0
# 1    bar  2.0
# 2    doe  NaN