获取一组用户的粉丝和关注列表 tweepy

8

我想知道有没有人知道如何列出一个Twitter用户正在关注的用户名以及他们的关注者,分别放在两个不同的.csv单元格中。

这是我迄今为止尝试过的:

import tweepy
import csv

consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

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

api = tweepy.API(auth)

csvFile = open('ID.csv', 'w')
csvWriter = csv.writer(csvFile)

users = ['AindriasMoynih1', 'Fiona_Kildare', 'daracalleary', 'CowenBarry', 'BillyKelleherTD', 'BrendanSmithTD']


for user_name in users:
    user = api.get_user(screen_name = user_name, count=200)
    csvWriter.writerow([user.screen_name, user.id, user.followers_count, user.followers_id, user.friends_id user.description.encode('utf-8')])
    print (user.id)


csvFile.close()

运行程序时,您的输出是什么? - T.Woody
我遇到了一个错误:“'User'对象没有属性'followers_id'” @T.Woody - user9663765
尝试使用CRUD方法,然后执行for row in user: print(row)。从那里开始,执行pragma table_info(myTable)并查看列名是什么。我猜这是一个打字错误或者该列名不存在。 - T.Woody
请您是一个负责任的人,回来告诉我们您的发现。 - T.Woody
1个回答

16

Tweepy是一个封装了Twitter API的库。

根据Twitter API文档,您需要调用GET friends/ids来获取用户的关注列表(即他们所关注的人),以及GET followers/ids来获取用户的粉丝列表。

使用Tweepy,您可以通过调用相应的方法间接调用这些API。

由于结果很多,您应该使用Tweepy Cursor来处理页面结果的滚动。

请尝试下面的代码。我会让你自己处理CSV方面,并将其应用于多个用户。

import tweepy

access_token = "1234"
access_token_secret = "1234"
consumer_key = "1234"
consumer_secret = "1234"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

for user in tweepy.Cursor(api.get_friends, screen_name="TechCrunch").items():
    print('friend: ' + user.screen_name)

for user in tweepy.Cursor(api.get_followers, screen_name="TechCrunch").items():
    print('follower: ' + user.screen_name)

太好了,谢谢!不过我遇到了速率限制错误。我该如何获取所有用户而不出现此错误? - user9663765
5
请尝试使用 api = tweepy.API(auth, wait_on_rate_limit=True) 这行代码,这会告诉 Tweepy 在达到访问限制时暂停执行而不是报错。 - jschnurr
1
Tweepy现在有api.get_friends代替了api.friends。来源:https://docs.tweepy.org/en/stable/api.html#tweepy.API.get_friends - plutownium

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接