单个list页
import tweepy
import time
import csv
def get_all_members():
"""
获取list页的所有成员信息
return: list [[1903792582620319744, '0xFlowers89236']]
"""
X_BEARER_TOKEN = 'AA'
client = tweepy.Client(bearer_token=X_BEARER_TOKEN)
list_id = '1918225637397143707'
all_members = []
pagination_token = None
while True:
response = client.get_list_members(
id=list_id,
pagination_token=pagination_token,
max_results=100 # 最大值为100
)
# 打印当前页的成员用户名
for user in response.data or []:
all_members.append([user.id, user.username])
print(f"@{user.username}")
# 检查是否还有下一页
if 'next_token' in response.meta:
pagination_token = response.meta['next_token']
time.sleep(5) # 避免速率限制
else:
break
print(f"共获取 {len(all_members)} 位成员")
print(all_members)
return all_members
members = get_all_members()
with open('1918225637397143707.csv', 'a', encoding='utf-8-sig', newline='') as csvfile:
writer = csv.writer(csvfile)
for m in members:
writer.writerow(m)
多个list页
import tweepy
import time
import csv
def get_all_members(list_id):
"""
获取list页的所有成员信息
return: list [[1903792582620319744, '0xFlowers89236']]
"""
X_BEARER_TOKEN = 'A'
client = tweepy.Client(bearer_token=X_BEARER_TOKEN)
# list_id = '1918225637397143707'
all_members = []
pagination_token = None
while True:
response = client.get_list_members(
id=list_id,
pagination_token=pagination_token,
max_results=100 # 最大值为100
)
# 打印当前页的成员用户名
for user in response.data or []:
all_members.append([user.id, user.username])
print(f"@{user.username}")
# 检查是否还有下一页
if 'next_token' in response.meta:
pagination_token = response.meta['next_token']
time.sleep(5) # 避免速率限制
else:
break
print(f"共获取 {len(all_members)} 位成员")
print(all_members)
return all_members
list_ids = [ "1919016360887427561", "1918225637397143707", "1914959721876029749", "1698483049569132665", "1918965870594023475", "1918960366379475416", "1698480499784585706", "1914927321808822708", "1686294729045196801", "1918950067895140605", "1914668581713011045", "1914876137026806061", "1918933961297838431", "1919009469599777119", "1918928583692779900", "1702109517440549055", "1919020662892753028", "1691068475110989953", "1914647432857821409", "1698870371959849207", "1919026082726187376", "1918956225137709538", "1698531713486664178", "1914953390976852191", "1914595632096198993", "1703601964309967044", "1914946270147592326", "1686667091594891264", "1918972382003581006", "1919036353746223475" ]
# 所有list页的成员
list_ids_members = []
for list_id in list_ids:
# 单个list页的成员
list_id_members = get_all_members(list_id)
list_ids_members.extend(list_id_members)
print(list_ids_members)
members = []
for mem in list_ids_members:
if mem not in members:
members.append(mem)
print(members)
with open('total_members.csv', 'a', encoding='utf-8-sig', newline='') as csvfile:
writer = csv.writer(csvfile)
for m in members:
writer.writerow(m)
Top comments (0)